如何在asp.net代码隐藏中获取HiddenField值?提前感谢!
public partial class ReadCard : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
}
protected void Button1_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "MyClick ", "<script>ReadCard();</script> ");
string b= HiddenField1.Value; //How to get the value "123"??
}
}
ASPX:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="pragma" content="no-cache"/>
<script src="jquery-1.5.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ReadCard() {
$("#HiddenField1").val("123");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
</body>
</html>
答案 0 :(得分:4)
客户端ID不一定与服务器ID相同(除非您使用CliendIDMode=Static
。您可以插入服务器标签以获取客户端ID。
另请注意,您必须将脚本放在document.ready
标记内,或将脚本放在页面底部 - 否则脚本将找不到HiddenField1,因为它不会被加载到DOM还没有。
$(document).ready(function() {
$("<%= HiddenField1.ClientID %>").val("123");
});
答案 1 :(得分:2)
您的问题在于如何设置。
$("#<%=HiddenField1.ClientID%>").val("123");
您需要使用呈现的控件ID。
跟进。 这段代码
protected void Button1_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "MyClick ", "<script>ReadCard();</script> ");
string b= HiddenField1.Value; //How to get the value "123"??
}
实际上与:
相同 protected void Button1_Click(object sender, EventArgs e)
{
HiddenField1.Value = "123";
}
因为实际上你试图通过注册javascript代码来设置值,但为什么呢?您可以直接从代码后面设置该值。
你真的不知道这个价值在哪里?
答案 2 :(得分:2)
尝试:
$("#<%= HiddenField1.ClientID %>").val("123");
在.cs文件中:
string b= HiddenField1.Value;