在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

回到顶部