在ASP.NET中动态生成HTML
我很想知道asp.net是否允许我们在.aspx源页面(而不是代码隐藏)上动态生成HTML内联HTML。在ASP.NET中动态生成HTML
为了测试我创建了以下简单的.aspx页面中...
在我的asp.net代码隐藏我有以下几点:
protected List<string> myList = null; protected void Page_Load(object sender, EventArgs e)
{
if (myList == null)
myList = new List<string>();
myList.Add("One String");
myList.Add("Two String");
myList.Add("Three String");
myList.Add("Four String");
this.Repeater1.DataSource = myList;
this.Repeater1.DataBind();
}
在相应的源页面我有:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
<title></title>
</head>
<body>
<ol>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>
<%# DataBinder.GetDataItem(myList) %>
</li>
</ItemTemplate>
</asp:Repeater>
</ol>
</body>
</html>
所得.aspx页是:
<html xmlns="http://www.w3.org/1999/xhtml"> <head><title>
</title></head>
<body>
<ol>
<li></li>
<li></li>
<li></li>
<li></li>
</ol>
</body>
</html>
请注意,Repeater控件确实创建了四个列表项。然而,myList列表的内容(一个字符串,两个字符串等)没有出现。
我需要做什么来评估myList列表并获取列表项标签内的值?顺便说一句,我不关心如何特别使用Repeater控件,所以如果有解决方案不包括Repeater控件的问题,我很好。
注意:我知道我可以将“myList”通用列表绑定到一个asp:BulletedList并获得相同的结果。我更感兴趣的是动态创建源页面的HTML内联。
回答:
使用此代码:
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate>
<li>
<%# Container.DataItem %>
</li>
</ItemTemplate>
</asp:Repeater>
如果您需要绑定与属性的对象列表源,尝试使用:
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate>
<li>
<%# Eval("PropertyName") %>
or
<%# Eval("PropertyName","DataFormat") %>
</li>
</ItemTemplate>
</asp:Repeater>
希望这将有助于你与你的问题。编码祝你好运!
最好的问候, 迪马。
以上是 在ASP.NET中动态生成HTML 的全部内容, 来源链接: utcz.com/qa/260797.html