TextBox起的名字有规律,能不能用for循环判断?

commemoration 2009-05-15 05:41:12
如下:info.是实体类,txtcustomData1就是TextBox文本了,下面的意思是如果TextBox显示了,就用TextBox里的值赋值到info里,如果TextBox是隐藏的,就用DropDownList的值赋给info.现在有差不多100个这样的判断,请问大家有什么好方法解决没?for里能写吗?开始用 for写但不管用.谢谢大家了,帮忙解决下,会的把代码贴出来.被这折磨死了!!问题解决了再加分!!!!!!!!!!!!!!!!!!!!!!1
if (txtcustomData1.Visible == true)
{
info.CustomData1 = this.txtcustomData1.Text.Trim();
}
else
{
info.CustomData1 = this.DropDownList1.SelectedValue.Trim();
}
if (txtcustomData2.Visible == true)
{
info.CustomData2 = this.txtcustomData2.Text.Trim();
}
else
{
info.CustomData2 = this.DropDownList2.SelectedValue.Trim();
}
if (txtcustomData3.Visible == true)
{
info.CustomData3 = this.txtcustomData3.Text.Trim();
}
else
{
info.CustomData3 = this.DropDownList3.SelectedValue.Trim();
}
if (txtcustomData4.Visible == true)
{
info.CustomData4 = this.txtcustomData4.Text.Trim();
}
else
{
info.CustomData4 = this.DropDownList4.SelectedValue.Trim();
}
...全文
355 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzp144650 2009-05-18
  • 打赏
  • 举报
回复
如果有规律的话,可以用循环吧

for(i=0;i<X;i++)
{
TextBox tb=FindControl("txtcustomData1"+"i") as TextBox;
}
得到TEXTBOX实例你就可以随便操作了
阿非 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 ojlovecd 的回复:]
引用 32 楼 Sandy945 的回复:
引用 16 楼 ojlovecd 的回复:
100个……
11楼阿非的方法楼主可以参考一下

话说阿非的三个小花真好看

这个月你也有机会吧



肯定没有,现在.net版抢分的人太多太能抢了,我自认抢不过,而且,到了四星我就更不会抢了
[/Quote]

找个人气少的板块,很容易得小蓝花的,注意别把第二超了就行。 记得保持低调~
沉序员 2009-05-18
  • 打赏
  • 举报
回复
我姓区不姓区 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 Sandy945 的回复:]
引用 16 楼 ojlovecd 的回复:
100个……
11楼阿非的方法楼主可以参考一下

话说阿非的三个小花真好看

这个月你也有机会吧


[/Quote]
肯定没有,现在.net版抢分的人太多太能抢了,我自认抢不过,而且,到了四星我就更不会抢了
fuzijing 2009-05-18
  • 打赏
  • 举报
回复
...
cat_hsfz 2009-05-18
  • 打赏
  • 举报
回复
你可以通过FindControl来找到这些控件。
阿非 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 zzxap 的回复:]
我基础还差了点,向非哥和qqshenyunzcz学习
[/Quote]

互相学习
阿非 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 qqshenyunzcz 的回复:]

C# code
for (int i=0,i <100,i++)
{
string stra = "txtcustomData" + i.ToString();
string strb = "DropDownList" + i.ToString();
string strc = "CustomData" + i.ToString(); <-------对象的对应属性字符

TextBox TextBoxa = (TextBox)this.FindControl(stra);
DropDownList DropDownLista = (DropDownList)this.FindControl(strb);
if (TextBoxa!=null && DropDownLista!=null)
{
string v…
[/Quote]
反射的想法没错,虽说设计本身有问题,但更不应该将问题扩大。
反射本身是种效率换灵活的办法,本身效率就低,你在放循环中,每次还重复从类反射
性能损失很大。
Roc_Lee 2009-05-18
  • 打赏
  • 举报
回复
lz可以试试jquery。找的时候直接找text 的
阿非 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ojlovecd 的回复:]
100个……
11楼阿非的方法楼主可以参考一下

话说阿非的三个小花真好看
[/Quote]
这个月你也有机会吧

qqshenyunzcz 2009-05-16
  • 打赏
  • 举报
回复

C# code
for (int i=0,i<100,i++)
{
string stra = "txtcustomData" + i.ToString();
string strb = "DropDownList" + i.ToString();
string strc = "CustomData" + i.ToString();<-------对象的对应属性字符

TextBox TextBoxa = (TextBox)this.FindControl(stra);
DropDownList DropDownLista = (DropDownList)this.FindControl(strb);
if (TextBoxa!=null && DropDownLista!=null)
{
string value=TextBoxa.Visible?TextBoxa.text:DropDownLista.SelectedValue
info.GetType().GetProperty(strc).SetValue(info,value,null) <----------------反射字符为属性赋值
}
}
和风的想法一样 。。。他估计失误忘记反射了。。。
yh7272hy 2009-05-16
  • 打赏
  • 举报
回复
up
showname 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 qqshenyunzcz 的回复:]

C# code
for (int i=0,i <100,i++)
{
string stra = "txtcustomData" + i.ToString();
string strb = "DropDownList" + i.ToString();
string strc = "CustomData" + i.ToString(); <-------对象的对应属性字符

TextBox TextBoxa = (TextBox)this.FindControl(stra);
DropDownList DropDownLista = (DropDownList)this.FindControl(strb);
if (TextBoxa!=null && DropDownLista!=null)
{
string v…
[/Quote]
正解
makun0624 2009-05-16
  • 打赏
  • 举报
回复
学习`关注`UP
makun0624 2009-05-16
  • 打赏
  • 举报
回复
学习`关注`UP
CloneCenter 2009-05-16
  • 打赏
  • 举报
回复
楼上的这么多代码肯定都可以解决楼主的问题了。

但是,我想问一下,楼主怎么会设计出这么一个结构?100个Infoxxx这样的属性吗?可以考虑类不要这样来设计,用一个数组或者别的什么来索引一下,可能更好。
另外,界面上放 100 个这样的 TextBox 或者 label 吗?这个对用户可能也是比较灾难的情况。
CloneCenter 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 zzxap 的回复:]
我基础还差了点,向非哥和qqshenyunzcz学习
[/Quote]
都好谦虚啊!

这个问题就是遍历控件,反射提取类实例的属性。
zzxap 2009-05-16
  • 打赏
  • 举报
回复
我基础还差了点,向非哥和qqshenyunzcz学习
加载更多回复(21)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧