当前位置: 代码迷 >> ASP.NET >> 前台动态创建的textbox,后台丢失值解决方法
  详细解决方案

前台动态创建的textbox,后台丢失值解决方法

热度:9286   发布时间:2013-02-26 00:00:00.0
前台动态创建的textbox,后台丢失值
前台创建代码如下:
var   tb   =   document.getElementById( "table1 ");
var   str   =   document.getElementById( "hidden1 ").value;
//拆分
var   arr_str   =   str.split( '; ');
for   (var   i   =   0;   i   <   arr_str.length;   i++)
{
        var   row   =   tb.insertRow(tb.rows.length);
        var   cell=   row.insertCell(0);
        cell.innerHTML   =   " <input   type= 'hidden '   id= 'hidden "   +   i   +   " '   value= ' "   +   arr_str[i]   +   " '/> "   +   arr_str[i];
        var   cellTxt   =   row.insertCell(1);
        cellTxt.innerHTML   =   " <input   type= 'text '   size= '10 '   id= 'txtbox "   +   i   +   " '   /> XXX ";
}

后台获取代码如下:
for   (int   i   =   0;   i   <   table1.Rows.Count;   i++)
{
        HtmlInputHidden   hidden   =   (HtmlInputHidden)table1.Rows[i].Cells[0].Controls[0];
        string   str   +=   hidden.Value   +   ": ";
        TextBox   txtbox   =   (TextBox)table1.Rows[i].Cells[1].Controls[0];
}
明明输入了值,后台的txtbox也能获得,但内容就是为空。为什么?同一个table里的hidden,就没有问题。

------解决方案--------------------------------------------------------
可以用ajax,也可以在画面上table以外的地方放一个hidden,点提交的时候先在前台把textbox的值存在这个hidden里。
  相关解决方案