以上是我的.aspx页面中的代码。 如何从dyanmically背后的代码中添加它?
<ul runat="server" id="1">
<li><a href="page.html">abc</a>
<ul runat="server" id="2">
<li><a href="pag2.htm">3</a></li>
<li><a href="page3.htm">2</a></li>
</ul>
</li>
</ul>
答案 0 :(得分:0)
您必须使用“sidebarmenu1”控件的“InnerHtml”属性。
protected void Page_Load(object sender, EventArgs e)
{
this.loadHtml();
}
因此,您可以生成每个列表项代码并将其添加到InnerHtml:
private loadHtml()
{
this.sidebarmenu1.InnerHtml = GetListHtml().ToHtmlString();
}
这个GetListHtml的一个小例子:
public string GetListHtml()
{
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.AppendLine("<li><a href="#">Flat</a>");
htmlBuilder.Append("<ul runat="server" id="sidebarmenu2">");
htmlBuilder.AppendLine("<li><a href="#">Flat 1`enter code here`</a></li>");
htmlBuilder.Append("<li><a href="#">Flat 2</a></li></ul>");
return htmlBuilder.ToString();
}
这个GetListHtml方法可以调用DAL或从任何其他地方加载数据...使用foreach加载每个项目......
答案 1 :(得分:0)
您可以采用此链接中给出的教程的类比: http://neimke.blogspot.com/2011/01/create-delicious-user-interface-for.html 它对我有用 - 它使用jquery使用下面的给定代码动态添加列表项..检查它pout ...
<li id="tagInputListItem"><input class="tagInput" id="tagInput" /></li>
答案 2 :(得分:0)
您可以将PlaceHolder放在.aspx中并为其指定ID,然后在代码隐藏页面中使用该ID并向该占位符添加控件。 有关详细信息,请参阅here.
如果你真的确定“runat = server”属性可能这个帖子很有用(here)
如果您需要澄清,请给我反馈。
答案 3 :(得分:0)
您可以使用ASP Literal从后端代码填充数据 例如。如果你有id ltrNavigation的文字
protected void Page_Load(object sender, EventArgs e)
{
ltrNavigation.text = "";
if (!IsPostBack)
{
ltrNavigation.text += "<ul id='sidebarmenu1'>";
ltrNavigation.text += "<li><a href='#'>Flat</a></li>";
ltrNavigation.text += "</ul>";
}
}