[英]get value of asp.net controls with new assigned ID
我有一个ASP.NET Web应用程序,每当用户从特定的下拉列表中选择一个项目时,相应的控件都会相应地更新,例如,标签将被重命名,文本框的ID将被更改,等等。使用jQuery。
在根据用户的选择为文本框指定了新的ID之后,我希望将在这些文本框上输入的值传递给方法,我尝试执行Request.Form[controlid]
但是它返回null
。 我以为这是因为我正在使用asp.net控件,所以我决定使用jquery动态创建文本框。但是它仍然会返回null。
我也尝试做类似的事情:
TextBox textBox = Page.FindControl(controlid) as TextBox
textBox.Text;
但是它仍然会使我返回null
。
有什么想法吗?
您需要使用Request.Form [controlname]而不是controlid。
服务器端FindControl将不起作用,因为它将仅识别服务器端已存在的控件。
提交表单后,像这样的Request.Form [“ controlname”]一样,正是name
属性是Request.Form中的键。因为您正在使用javascript动态更改客户端上的文本框,所以ASP.NET不会能够使用Page.FindControl()找到它们。 在客户端,您将具有以下文本框:
<input type="textbox" id="t1" name="t1name" />
其值将作为Request.Form["t1name"]
您需要添加属性
runat="server"
在您的控件上,在.aspx页上。
然后在CodeBehind上使用[ControlName] .Text查找与您的控件相对应的当前文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.