Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript创建的控件值未发布到服务器_Javascript_Asp.net_Postback - Fatal编程技术网

javascript创建的控件值未发布到服务器

javascript创建的控件值未发布到服务器,javascript,asp.net,postback,Javascript,Asp.net,Postback,在我的Html页面中,我使用javascript在循环中创建了几个文本框 来自内部循环的代码段: var row = myTable.tBodies[0].insertRow(rowCount); var cell1 = row.insertCell(0); cell1.style.width = '40%'; var element1 = document.createElement("input"); element1.type = "text"; element1.className =

在我的Html页面中,我使用javascript在循环中创建了几个文本框

来自内部循环的代码段:

var row = myTable.tBodies[0].insertRow(rowCount);
var cell1 = row.insertCell(0);
cell1.style.width = '40%';
var element1 = document.createElement("input");
element1.type = "text";
element1.className = 'textSub';
element1.id = 'txtOndNr' + rowNr;
cell1.appendChild(element1); 
当我按下提交按钮时,我似乎无法在服务器端访问它们的值。我知道它们不是服务器控件等,但我希望通过request.form(“id”)访问它们。 此外,当我检查firebug时,这些值不在post值中(控件位于表单标记内,这不是问题所在)

有人知道我做错了什么吗


额外信息:ASP.NET 1.1,脚本位于ASCX

ASP.NET将控件状态保持为仅由ASP.NET创建的视图状态。您需要使用
隐藏字段来存储新创建控件的状态
,然后在服务器上访问该隐藏字段以获取状态/数据

html格式的

<input type="hidden" runat="server" id="hdnFornewlyCreated" />

Asp.net仅将Asp.net创建的控件状态保持在视图状态。您需要使用
隐藏字段来存储新创建控件的状态
,然后在服务器上访问该隐藏字段以获取状态/数据

html格式的

<input type="hidden" runat="server" id="hdnFornewlyCreated" />

我刚刚发现,用来发送表单值的不是ID,而是名称。如果我更改
element1.id='txtOndNr'+rowNr
to
element1.name='txtOndNr'+rowNr我可以通过Request.form(“txtOndNr0”)访问这些值

在检查firebug http post请求时看起来是这样的

txtOndNr0   qsdf
txtOndNr1   
txtOndNr2   qsdf

在我看来,这似乎是一个稍微干净的解决方案。

我刚刚发现,用于发送表单值的不是ID,而是名称。如果我更改
element1.id='txtOndNr'+rowNr
to
element1.name='txtOndNr'+rowNr我可以通过Request.form(“txtOndNr0”)访问这些值

在检查firebug http post请求时看起来是这样的

txtOndNr0   qsdf
txtOndNr1   
txtOndNr2   qsdf

对我来说,这似乎是一个稍微干净的解决方案。

嗯,我希望不必走这条路,但这似乎是唯一可能的办法。我的问题是,用户可以在该页面上创建任意数量的文本框。因此,在回发之前,我必须将所有txtbox值存储在1个hdn中(因为我无法预测将有多少txtbox,我无法提供服务器端创建的hdn的正确数量)。和字符串操作服务器端hdn的结果。您必须存储在单个隐藏字段中创建的所有新文本框的所有数据。你所要做的就是格式化你的数据,这样就可以在服务器端对客户端创建的每个元素进行解释和提取。嗯,我希望不必走这条路,但这似乎是唯一可能的方法。我的问题是,用户可以在该页面上创建任意数量的文本框。因此,在回发之前,我必须将所有txtbox值存储在1个hdn中(因为我无法预测将有多少txtbox,我无法提供服务器端创建的hdn的正确数量)。和字符串操作服务器端hdn的结果。您必须存储在单个隐藏字段中创建的所有新文本框的所有数据。您所要做的就是以这样一种方式格式化数据,即可以在服务器端对在客户端创建的每个元素进行解释和提取。