• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

在ASP.NET中动态生成HTML

c/c++ 来源:Jed 3次浏览

我很想知道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> 

希望这将有助于你与你的问题。编码祝你好运!

最好的问候, 迪马。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)