当页面呈现时,如何阻止 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>"));
}
}
}
您可以用转发器替换项目符号列表
代替PhysicianLinks.Items.Add(new ListItem("<a href=\"" + doc.Link + "\">" + doc.FullName + "</a>"));
,将 doc.Link 添加到列表对象并使用它来绑定中继器。您可以在中继器项目模板中包含任何您想要的 html
就像是
List<string> docLinks=new List<string>();
if (SpecialtyList.SelectedIndex > 0)
{
foreach (Physician doc in docs)
{
if (doc.Specialties.Contains(SpecialtyList.SelectedValue))
{
docLinks.add(doc.Link) ;
}
}
Repeater1.DataSource=docLinks;
Repeater1.DataBind();
}
在 ASPX 中
<ul>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li><a href="<%# Container.DataItem.ToString()%>"><%# Container.DataItem.ToString()%></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)