将LI从C#代码隐藏创建到ASPX页面
我有一个带有将LI从C#代码隐藏创建到ASPX页面,c#,html,asp.net,C#,Html,Asp.net,我有一个带有asp:BulletedList控件的ASPX页面,我想用C#从代码隐藏中填充它 这是我的SQL表(TBook): 到目前为止,我的ASP页面如下所示: <div style="width: 80%; margin: 0 auto; border: 1px solid #A7DFFF; background: #DDDDDD;"> <div style="width: 100%; background: #0181C7; height: 50px;
asp:BulletedList
控件的ASPX页面,我想用C#从代码隐藏中填充它
这是我的SQL表(TBook
):
到目前为止,我的ASP页面如下所示:
<div style="width: 80%; margin: 0 auto; border: 1px solid #A7DFFF; background: #DDDDDD;">
<div style="width: 100%; background: #0181C7; height: 50px; line-height: 50px;">
<span style="color: #fff;text-shadow: 0px 1px 0px #999, 0px 2px 0px #888, 0px 3px 0px #777, 0px 4px 0px #666, 0px 5px 0px #555, 0px 6px 0px #444, 0px 7px 0px #333, 0px 8px 7px #001135;font: 35px 'ChunkFiveRegular';">LOCATIONS</span>
</div>
<div style="height: 15px;"></div>
<asp:BulletedList class="ulLocation" id="ulLocation_selector" runat="server">
</asp:BulletedList>
<!--<ul class="ulLocation" id="ulLocation2_selector" runat="server">
<li class="liSubLocation active" data-trait-id="9">
<a href="/locations/new-york/neighborhoods?tags[]=12&tags[]=66" class="premote trait-link large btn" data-trait-id="9">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">New Rochelle</span>
<span class="count">6</span>
</a>
</li>
<li class="liSubLocation active" data-trait-id="12">
<a href="/locations/new-york/neighborhoods?tags[]=66&tags[]=9" class="premote trait-link large btn" data-trait-id="12">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">Purchase</span>
<span class="count">6</span>
</a>
</li>
<li class="liSubLocation" data-trait-id="14">
<a href="/locations/new-york/neighborhoods?tags[]=12&tags[]=14&tags[]=66&tags[]=9" class="premote trait-link large btn" data-trait-id="14">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">Rye</span>
<span class="count">4</span>
</a>
</li>
<li class="liSubLocation" data-trait-id="5">
<a href="/locations/new-york/neighborhoods?tags[]=12&tags[]=5&tags[]=66&tags[]=9" class="premote trait-link large btn" data-trait-id="5">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">Scarsdale</span>
<span class="count">6</span>
</a>
</li>
<li class="liSubLocation" data-trait-id="3">
<a href="/locations/new-york/neighborhoods?tags[]=12&tags[]=3&tags[]=66&tags[]=9" class="premote trait-link large btn" data-trait-id="3">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">White Plains</span>
<span class="count">5</span>
</a>
</li>
<li class="liSubLocation active" data-trait-id="66">
<a href="/locations/new-york/neighborhoods?tags[]=12&tags[]=9" class="premote trait-link large btn" data-trait-id="66">
<span class="check"><i class="icon icon-ok"></i></span>
<span class="name">Yonkers</span>
<span class="count">6</span>
</a>
</li>
</ul>-->
</div>
我有以下代码添加了基于数据源的LI:
DataTable dt = getData(); //Insert your datasource here
foreach(DataRow row in dt.Rows){
HtmlGenericControl li = new HtmlGenericControl("li");
li.Attributes.Add("data-trait-id", row["TraitID"].ToString());
HtmlAnchor a = new HtmlAnchor();
a.Attributes.Add("data-trait-id", row["TraitID"].ToString());
HtmlGenericControl span1 = new HtmlGenericControl("span");
span1.Attributes.Add("class", "name");
span1.InnerText = row["Name"].ToString();
a.Controls.Add(span1);
HtmlGenericControl span2 = new HtmlGenericControl("span");
span2.Attributes.Add("class", "count");
span2.InnerText = row["Count"].ToString();
a.Controls.Add(span2);
li.Controls.Add(a);
ulSpecialty_selector.Controls.Add(li);
}
上面的代码使用一个数据源。如何修改它,使其根据表中的行数添加LI数,类似于我的ASPX页面中注释掉的HTML代码
Link = "#"
Name = Table Row Value
Count = Table Row Number
这是我给你的建议,唯一的问题是你想要一个右边的数字,这个解决方案不能做到这一点。然而,你可以使用中继器,这将使你有你的号码的权利。无论如何,这是一些想法,让你通过,直到有人给出一个更好的解决方案
cblTest.DataSource = "YourDataTableOrDataset";
cblTest.DataValueField = "YourIDColumnFromYourTable";
cblTest.DataTextField = "YourColumnName";
cblTest.RepeatDirection = RepeatDirection.Horizontal;//Option of vertical
cblTest.RepeatColumns = 5; //or however many you need i.e how many columns you want to go across before repeating
cblTest.CssClass = "YourCSSClass"; //for styling the checkboxlist
cblTest.DataBind();
你只是想数一数你有多少行吗?如果是这样的话,您可以使用类似于…DT.tables[0].Rows.count()的方法。我希望在此网站上也能使用相同的方法:
https://www.airbnb.com/locations/new-york/neighborhoods
。白色小框将为空白,粗体文本将替换为我的行值,右侧的数字将替换为表中的行计数编号…明白了,这是一个复选框列表…我现在在手机上,但我可以在10分钟内进入笔记本电脑并发送答案…然后再签出复选框列表,你可以数据绑定到它,它会工作哇。。。令人惊叹的!谢谢我会在这段时间检查一下。
Link = "#"
Name = Table Row Value
Count = Table Row Number
cblTest.DataSource = "YourDataTableOrDataset";
cblTest.DataValueField = "YourIDColumnFromYourTable";
cblTest.DataTextField = "YourColumnName";
cblTest.RepeatDirection = RepeatDirection.Horizontal;//Option of vertical
cblTest.RepeatColumns = 5; //or however many you need i.e how many columns you want to go across before repeating
cblTest.CssClass = "YourCSSClass"; //for styling the checkboxlist
cblTest.DataBind();