当对象由javascript动态创建时,如何在C#中获取该对象
我在my.aspx中用Javascript创建了几个输入文本当对象由javascript动态创建时,如何在C#中获取该对象,c#,C#,我在my.aspx中用Javascript创建了几个输入文本 for (var i = 0; i < listbox.options.length; i++) { var text = listbox.options[i].value; var element = document.createElement("input"); //Assign different attributes to the
for (var i = 0; i < listbox.options.length; i++) {
var text = listbox.options[i].value;
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("type", "text");
element.setAttribute("value", text);
element.setAttribute("id", "TMruleItem");
element.setAttribute("style", "width:480px; margin-top:10px");
element.setAttribute("disabled", "disabled");
element.setAttribute("runat","server");
var foo = document.getElementById("Panel_TM");
foo.appendChild(element);
}
for(变量i=0;i
然而,当我试图用C#(在.aspx后面的代码)获取这个对象的文本时,这似乎是不可能的。有人能帮忙吗?非常感谢 js在C#(服务器端)呈现页面后运行客户端。 你不能随心所欲,因为你对这些技术如何相互作用的模型存在根本性的缺陷。
话虽如此,;您可以实现web服务或ajax框架来将文本值传递给服务器。将以下内容添加到javascript代码中:
element.setAttribute("name", "TMruleItem");
输入的值将在服务器端可用:
string value = Request.Form["TMruleItem"];
我不确定您将如何将此元素添加到东西的C端(位于服务器上),因为此元素仅添加到客户端(即使您添加了属性runat=“server”),因为生成的页面已经发送 但是,如果您需要能够动态添加元素,您可以始终使用存储在某处(数据库)的ajax调用(etc)传递一些信息,然后在下次生成页面时读取这些信息以重新创建html元素 但最终的结果是,为了让C#能够访问元素,它必须存在于服务器上的某个点上。如果您不想访问元素,只想访问值,只要表单已发布(ajax或常规),该值将成为请求变量的一部分:
string value = Request.Params["TMruleItem"];
我认为您需要将元素添加到表单中,当您发回服务器时,您可以使用