[英]reading form value of a control (TextBox) in ASP.Net
我想读取控件(例如TextBox)的Form
值,即' Request.Form["[Control_Name_Here]"]
。 使用say TextBox.Text
的问题是,如果您在Page_Load
明确设置了它,则无法取回表单中提交的“原始值”。
如您所知,Asp.Net为控件生成唯一的ID /名称。 Request.Form基于控件的name
属性。 每个Web控件都有一个ClientID
属性,但这与名称不匹配。 名称似乎几乎与ClientID相似,用$代替_。 有没有一种方法可以轻松地从表单中获取值,而不必将_替换为$?
而且这也应满足其他命名约定,因为从Asp.Net开始,您还可以选择让控件的id静态生成,而不是动态生成。
在我看来,您不是要查找.ClientID
属性,而是控件的.UniqueID
属性。
请参阅: MSDN
编辑:另外,您是否总是在页面加载内设置.Text
属性的原因? 而不是例如检查Page.IsPostBack
属性,并仅设置.Text
为false
?
我个人使用jquery查找控件并读取和设置值
GetFormValue =函数(idName){var srchP =' [id ='+ idName +']'; var ctrl = $(srchP);
if (ctrl != null)
return ctrl.val();
return null;
}因此,假设服务器部分的id名称为txMytext,它将在客户端中为..... $ txMytext,并通过在客户端调用GetFormValue('txMytext')来获取控件的值
不要使用jQuery库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.