我有从一些模板生成一些页面的应用程序。我的模板是.aspx
包含一个li
和一些内容的文件。生成的页面上有多个模板,所以我无法使用:
<li runat="server" id="myLi">
...
this.form1.FindControl("myLi")
我真的需要li
通过后面的代码添加一些数据,因为我使用数据库中的数据。我怎样才能做到这一点?也许其他一些解决方案?
任何帮助,将不胜感激。
为什么不使用FormView或DetailsView?它们旨在显示一项(当时)与ListItem结合使用。
如果要使用显式 li DOM 元素作为服务器控件,则需要使用HtmlGenericControl
在这种情况下,您需要有一些选择器 - 类或属性才能仅获取您需要的 li 。
using System.Web.UI.HtmlControls;
HtmlGenericControl liItem = (HtmlGenericControl) ctl.FindControl("liItemID");
liItem.Attributes.Add("class", "someCssClass");
结合和类型检查
foreach(Control ctrl in Page.Controls)
您不能直接在 ASP 中操作 li 元素,因为它不是控件。
但是,这可能有助于给您一些想法:从代码隐藏 C# Asp.net 添加到列表