从后面的代码动态添加html列表项

本文关键字:添加 html 列表 动态 代码 | 更新日期: 2023-09-27 18:09:11

以上是我的.aspx页面中的代码。如何动态地从代码中添加这些?

<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>

从后面的代码动态添加html列表项

你可以拿这个链接中给出的教程做类比:http://neimke.blogspot.com/2011/01/create-delicious-user-interface-for.html它为我工作-它使用jquery使用下面的给定代码动态添加列表项。检查一下……

 <li id="tagInputListItem"><input class="tagInput" id="tagInput" /></li>

您可以在.aspx中放置占位符并给它一个id,然后在页面后面的代码中使用该id并为该占位符添加控件。更多信息请看这里。

如果你对"runat=server"属性很确定也许我的这篇文章很有用(这里)

如果你需要澄清,给我一个反馈。

必须使用"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或从任何其他地方加载数据…

您可以使用ASP Literal从后端代码填充数据如。如果你有一个带有id的文字

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>";
        }
}