我需要使用asp.net C#Web.UI.WebControls
动态生成以下HTML(BulletedList,两个Panel和一个HyperLink) <ul>
<li>
<div class="xxx"><a href="xxx">Home</a></div>
<div class="xxx">
<div style="width:500px; height:200px;">
THis is a test
</div>
</div>
</li>
</ul>
我尝试使用BulletedList,但我无法将Panels和HyperList插入ItemList。要求是使用asp.net Web控件(不是直接HTML)并使用UI Web控件动态生成HTML。
任何人都知道如何使用ASP.net UI.WebControls?
答案 0 :(得分:0)
如果你坚持使用asp标签,你必须使用转发器...
根据以下代码
的.aspx
<ul>
<asp:Repeater ID="rp" runat="server">
<ItemTemplate>
<li>
<asp:Panel ID="pnlFirst" runat="server" CssClass="xxx">
<asp:HyperLink ID="hlLink" runat="server" NavigateUrl='<%# Eval("Url") %>' Text='<%# Eval("Name") %>'></asp:HyperLink>
</asp:Panel>
<asp:Panel ID="pnlSecond" runat="server" CssClass="xxx">
<asp:Panel ID="pnlSubSecond" runat="server" style="width: 500px; height: 200px;">
This is <%# Eval("Name") %>
</asp:Panel>
</asp:Panel>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
的.cs
protected void Page_Load(object sender, EventArgs e)
{
// Check
if(!IsPostBack)
{
// Variable
string[] name = { "google", "yahoo" };
string[] url = { "http://www.google.com", "http://www.yahoo.com" };
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Url");
// Add to DataTable
for (int i = 0; i < name.Length; i++)
dt.Rows.Add(name[i], url[i]);
// Check
if (dt != null && dt.Rows.Count > 0)
{
rp.DataSource = dt;
rp.DataBind();
}
}
}