防止 ASP.NET 对输出中的字符串进行编码
当页面呈现时,如何阻止 ASP.Net 对列表项中的锚标记进行编码?
我有一个对象的集合。每个对象都有一个链接属性。我执行了 foreach 并尝试在 BulletedList 中输出链接,但 ASP 对所有链接进行了编码。
有什么想法吗?谢谢!
这是有问题的代码片段。当用户选择专业时,我使用 SelectedIndexChange 事件来清除并添加指向 BulletedList 的链接:
if (SpecialtyList.SelectedIndex > 0)
{
PhysicianLinks.Items.Clear();
foreach (Physician doc in docs)
{
if (doc.Specialties.Contains(SpecialtyList.SelectedValue))
{
PhysicianLinks.Items.Add(new ListItem("<a href=\"" + doc.Link + "\">" + doc.FullName + "</a>"));
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以用转发器替换项目符号列表,
而不是 PhysicianLinks.Items.Add(new ListItem("" + doc.FullName + "< /a>")); ,将 doc.Link 添加到列表对象并使用它来绑定中继器。您可以在中继器项目模板中包含任何您想要的 html
类似
And In ASPX
You can replace the Bulletedlist with a repeater
Instead of
PhysicianLinks.Items.Add(new ListItem("<a href=\"" + doc.Link + "\">" + doc.FullName + "</a>"));
, add doc.Link to a List Object and use it to bind the repeater. You can include any html you want in the repeater itemtemplateSomething like
And In ASPX
给我们一个例子......对象的确切类型/值以及正在呈现为 HTML 的内容。
如果您正在谈论 ASP.NET 将
&
更改为&
...您有时可以通过使用ASCII 代码版本而不是 HTML 快捷方式:&
Give us an example... the object's exact type/value and what is being rendered to HTML.
If you're talking about ASP.NET changing
&
to&
... you can sometimes get around this sort of thing by using the ASCII code version instead of the HTML shortcut:&