如何解决如何在ASP.NET中将动态添加的文本框的值保存到数据库中
|| 你好 我没有创建。的文本框(用户未在txtcount文本框中输入)。 但是我想将这些值存储到数据库中。为此,我在保存按钮单击事件中使用了代码,如下所示:protected void btnsave_Click(object sender,EventArgs e)
{
// Check how many textBoxes the user created
int count = Convert.ToInt32(txtcount.Text);
// Loop through them
for (int i=0; i < count; i++)
{
// Get the TextBox
TextBox textBox = (TextBox)Page.FindControl(\"TextBox_\" + i);
// Get the value
string val = textBox.Text;
Response.Write(val);
}
}
但是它给人错误:
Object reference not set to an instance of an object.
我该怎么办?
请帮我?
谢谢。
解决方法
您应在每个回发中以相同顺序重新创建文本框。最好的地方是page_init。也许您有理由在page_load上执行此操作。
因此,您可以从viewstate获取其值。
, 如果要引用动态控件,则需要在每个(回)后重新创建动态控件。使用
Page_Init
或Page_Load
事件。
另一个替代方法(如果不能重复执行回发操作)可以是直接从请求中读取值。例如,
string val = Request.Form[\"TextBox_\" + i]
当然,如果在父层次结构中使用模板化控件(或主控件),则请求变量名称可能会更改。在这种情况下,解决方案之一是存储要以视图状态存储的示例控件名称(UniqueID
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。