String To TextBox id

时间:2014-07-16 06:40:22

标签: c# asp.net

我正在使用asp.net 2.0我需要帮助字符串值到文本框ID ..我已经在源中声明了文本框,其中字符串值中的id..i有十多个textbox.but textbox id序列号我设置值所有文本框同时使用相同的值我在代码下面使用

for (int i = 1; i <= 12; i++)
{
    String _control = "txt_capex_" + i.ToString().Trim();
    TextBox txt = FindControl(_control) as TextBox;
    txt.Text = _splitamount.ToString().Trim();
}

我在

中收到错误
  

System.NullReferenceException未被用户代码处理     Message =“对象引用未设置为对象的实例。

这是什么解决方案..

2 个答案:

答案 0 :(得分:1)

假设您的所有文本框都不在页面本身上,这是否公平?也就是说,您可能在PanelGridView或其他类似控件中嵌套了一些。特别是如果你动态添加它们,我认为你是。确保您正在调用父FindControl方法,而不仅仅是页面。

Page.FindControl

  

此方法仅搜索页面的即时或顶级容器;它不会递归地搜索页面中包含的命名容器中的控件。要访问从属命名容器中的控件,请调用该容器的FindControl方法。

另一种可能性是你正在施放错误的类型。因为与传统的as投射相比,您使用的是(Type)value关键字,如果FindControl方法返回任何无法分配的内容,该表达式将解析为null与传统抛出异常相比,TextBox值。

答案 1 :(得分:0)

FindControl或_splitamount返回NullReferenceException。请调试你的代码。如果可能的话,请你把StackTrace放在这里吗?