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

时间:2011-10-20 11:00:29

标签: c# asp.net forms httprequest

我想读取控件的Form值(例如TextBox),即'Request.Form["[Control_Name_Here]"]。使用说TextBox.Text的问题是因为如果您明确地将其设置在Page_Load中,则无法获得表单中提交的“原始值”。

如您所知,Asp.Net为控件生成唯一的ID /名称。 Request.Form基于控件的name属性。每个webcontrol都有ClientID属性,但这与名称不匹配。该名称似乎与ClientID差不多,有$而不是_。有没有办法轻松从表单中获取值,而无需将_替换为$?

这也应该迎合其他命名约定,因为从Asp.Net开始,你也可以选择静态生成控件的id,而不是动态生成。

2 个答案:

答案 0 :(得分:1)

听起来我不是在寻找.ClientID属性,而是在寻找控件的.UniqueID属性。

请参阅:MSDN

编辑:另外,是否有理由始终在页面加载中设置.Text属性?而不是例如检查Page.IsPostBack属性而只设置.Text,如果它是false

答案 1 :(得分:-1)

我个人使用jquery来查找控件并读取并设置值

GetFormValue = function(idName){     var srchP =' [id ='+ idName +']';     var ctrl = $(srchP);

if (ctrl != null)
    return ctrl.val();
return null;

} 假设服务器部分中的id名称是txMytext 它将是..... $ txMytext在客户端 并通过在客户端调用GetFormValue('txMytext'),您可以获得控件的值

不要忘记使用jquery库