我有应用程序从某些模板生成一些页面。我的模板是.aspx
文件,其中包含一个li
及其中的一些内容。生成的页面上有多个模板,因此我不能使用:
<li runat="server" id="myLi">
...
this.form1.FindControl("myLi")
我真的需要通过后面的代码向这个li
添加一些数据因为我使用了来自数据库的数据。
我怎样才能做到这一点?也许其他一些解决方案?
任何帮助都将不胜感激。
答案 0 :(得分:1)
为什么不使用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)
答案 1 :(得分:-1)
您无法直接操作ASP中的li元素,因为它不是控件。
但是,这可能有助于您提供一些想法:Add to List from codebehind C# Asp.net