我需要使用asp.net C# Web.UI.WebControls动态生成以下超文本标记语言(一个BulletedList、两个面板和一个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,但无法在ItemList中插入面板和HyperList。需求是使用HTML控件(而不是直接使用HTML控件),并使用UI控件动态生成上述asp.net。
有没有人知道如何使用ASP.net UI.WebControls?
发布于 2015-11-16 10:39:02
好吧,如果你坚持使用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();
}
}
}https://stackoverflow.com/questions/33727276
复制相似问题