繁体   English   中英

在ASP.Net中读取控件(TextBox)的表单值

[英]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属性,并仅设置.Textfalse

我个人使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM