JavaScript的创建的控制值不发布到服务器(javascript created contro

2019-10-17 10:54发布

在我的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”)。 此外,当我检查萤火虫,这些值是不是在后的值(控件位于表单标签里面,这不是问题)。

有没有人有我在做什么错误的想法?

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

Answer 1:

Asp.net 保持其通过asp.net创建视图状态控制为只的状态 。 您需要使用hidden field to store the state of newly created controls是隐藏字段的服务器状态/数据,稍后访问。

在HTML

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

在JavaScript

document.getElementById('<%= hdnFornewlyCreated.ClientID %>').value = "stringcontainState";

在后面的代码

string state = hdnFornewlyCreated.Value; // Use this to extract state and data


Answer 2:

我刚刚发现,它不是用来发送表单值,但名称的ID。 如果我改变element1.id = 'txtOndNr' + rowNr;element1.name = 'txtOndNr' + rowNr; 我可以REQUEST.FORM(“txtOndNr0”)存取权限这些值。

貌似这个检查时萤火HTTP POST请求

txtOndNr0   qsdf
txtOndNr1   
txtOndNr2   qsdf

对我来说,这看起来像一个稍微清晰的解决方案。



文章来源: javascript created control values are not posting to server