C# 如何获得全部<;asp:标签>;HTML表中的控件?
我正在更新一些在集合上循环的旧代码,并根据对象中的值设置一些UI显示属性 不幸的是,它是这样硬编码的:C# 如何获得全部<;asp:标签>;HTML表中的控件?,c#,asp.net,C#,Asp.net,我正在更新一些在集合上循环的旧代码,并根据对象中的值设置一些UI显示属性 不幸的是,它是这样硬编码的: for (int i = 0 ; i < length; i++) // length is going to be 30+ { // do some stuff switch (i) { case 1: lbl1.Text = myVariable; break; case 2:
for (int i = 0 ; i < length; i++) // length is going to be 30+
{
// do some stuff
switch (i)
{
case 1:
lbl1.Text = myVariable;
break;
case 2:
lbl2.Text = myVariable;
break;
....
case 15:
lbl15.Text = myVariable;
break;
}
}
for(inti=0;i
(我说的很不幸,因为我遗漏的每个案例实际上还有5行代码,不管案例如何,它们都会做完全相同的事情)
现在,我可以将所有15个label
控件放在一个数组中,并放在我的for
循环中,如果(I您可以使用以下方法:
for (int i = 0 ; i < length; i++)
{
Label ans = FindControl(string.Format("lbl{0}",i)) as Label ;
if (ans!=null) and.Text = myVariable
}
for(int i=0;i
jquery怎么样?它肯定比.NET快得多。试一试…:)
根据代码的复杂性,只需在页面加载时检索db行,将其设置为codebehind上的属性(或将其数据放在作为页面属性的对象中),然后使用代码块绑定到它,可能会更简洁。您也可以通过这种方式除去所有的
元素
e、 g
这样,您就可以使所有绑定都成为声明性的,并且不再需要过程性代码隐藏逻辑来循环和设置内容 好奇的是,如果长度将是30+,为什么开关会在15结束?你真的在使用一个普通的HTML表还是一个在服务器上运行的WebControl表?@Amit我正在迭代的集合不仅仅是在页面上设置一些值,但是前15个元素包含“extra”的值用户定义fields@thewisegod是的,它是一个实际的HTML表,在表数据元素中放置了asp标签。您可以始终使HTML表运行at=server:)然后我需要一种方法将在页面加载时获取的DB中的值传递到该脚本。我刚刚离开工作,但我认为这应该可以满足我的要求;我认为它们实际上都是“customlabel1、2、3”等,所以这很容易。
$(function () {
var myTableId = "yourTableId";
var yourReplacementText = "yourReplacementText";
var allSpansUnderYourTable = $('#' + myTableId).find('span');
$.each(allSpan, function (index, item) {
item.innerHTML = yourReplacementText;
});
});
<table>
<tr>
<td><span><%: myObject.Property1 %></span></td>
</tr>
</table>