当前位置: 代码迷 >> ASP.NET >> 怎么查询页面上所有textbox,并赋值
  详细解决方案

怎么查询页面上所有textbox,并赋值

热度:5270   发布时间:2013-02-25 00:00:00.0
如何查询页面上所有textbox,并赋值。
我的代码如下(asp.net2005)
For Each c As Control In Page.Controls
  If TypeOf c Is TextBox Then
  Select Case c.ClientID
  Case "TextBox1"
  DirectCast(c, TextBox).Text = "a1"
  Case "TextBox2"
  DirectCast(c, TextBox).Text = "a2"
  Case "TextBox3"
  DirectCast(c, TextBox).Text = "a3"
  End Select
  End If
  Next

不知道哪里出错,就是不能赋值。请各路高手指点

------解决方案--------------------------------------------------------
VB.NET code
For Each c As Control In Me.Controls             If c Is TextBox Then                 Select Case c.ClientID                     Case "TextBox1"                         DirectCast(c, TextBox).Text = "a1"                     Case "TextBox2"                         DirectCast(c, TextBox).Text = "a2"                     Case "TextBox3"                         DirectCast(c, TextBox).Text = "a3"                 End Select             End If         Next
------解决方案--------------------------------------------------------
string id = string.Empty;
string controlID = string.Empty;
for (int i = 0; i < this.Controls.Count; i++)
{
foreach (System.Web.UI.Control control in this.Controls[i].Controls)
{
if (control is TextBox)
{
controlID = (control as TextBox).ID;
string[] textBoxHeads = textBoxHead.Split(',');
for (int j = 0; j < textBoxHeads.Length; j++)
{
if (controlID.IndexOf(textBoxHeads[j]) == 0)
{
id = controlID.Substring(textBoxHeads[j].Length);
if (dt.ContainCol(id))
{
//try
//{
(control as TextBox).Text = dt.GetValue(id).Trim();
//}
//catch
//{
//}
}
}
}

}
else if (control is HtmlInputHidden)
{
controlID = (control as HtmlInputHidden).ID;
string[] valueListHeads = hiValueHead.Split(',');
for (int j = 0; j < valueListHeads.Length; j++)
{
if (controlID.IndexOf(valueListHeads[j]) == 0)
{
id = controlID.Substring(valueListHeads[j].Length);
if (dt.ContainCol(id))
{
(control as HtmlInputHidden).Value = dt.GetValue(id).Trim();
}
}
}
}
else if (control is HtmlInputText)
{
controlID = (control as HtmlInputText).ID;
string[] valueListHeads = hiValueHead.Split(',');
for (int j = 0; j < valueListHeads.Length; j++)
{
if (controlID.IndexOf(valueListHeads[j]) == 0)
  相关解决方案