我想读取控件的Form
值(例如TextBox),即'Request.Form["[Control_Name_Here]"]
。使用说TextBox.Text
的问题是因为如果您明确地将其设置在Page_Load
中,则无法获得表单中提交的“原始值”。
如您所知,Asp.Net为控件生成唯一的ID /名称。 Request.Form基于控件的name
属性。每个webcontrol都有ClientID
属性,但这与名称不匹配。该名称似乎与ClientID差不多,有$而不是_。有没有办法轻松从表单中获取值,而无需将_替换为$?
这也应该迎合其他命名约定,因为从Asp.Net开始,你也可以选择静态生成控件的id,而不是动态生成。
答案 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库