2014-10-05 66 views
0

我想设置ASP.NEThidden fieldJQuery的值,然后从ASP.NET后面的代码中读取其值。从后面的代码中使用JQuery获取ASP.NET隐藏字段的值

到目前为止我有这个代码,但是当我追踪它时,我发现它改变了hidden field的值,但code behind得到了以前的值hidden field

有什么建议吗?提前Thanx。

ASPX:

<input type="hidden" id="SubmitHiddenField" name="SubmitHiddenField" clientidmode="Static" runat="server" /> 

JQuery的:

function func() { 
    if (invalid) { 
     $("#<%= SubmitHiddenField.ClientID %>").val("false"); 
     alert("false"); 
    } 
    else { 
     $("#<%= SubmitHiddenField.ClientID %>").val("true"); 
     alert("true"); 
    } 
} 

后面的代码:

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "func()", true); 
string s; 

if (SubmitHiddenField.Value == "true") 
    s = "Yes"; 
else if (SubmitHiddenField.Value == "false") 
    s = "No"; 

回答

1

问题是你正在检查它在你设置的JavaScript块执行。当你的if条件被执行时,func实际上并没有被调用,正如你所假设的那样。

func只会在Page_Load和其他事件通过HTML发送到客户端之后才会调用。只有这样func将被执行。

因此,您只能在回发后检查值。例如,您可以添加一个按钮,在后面的代码中执行一个处理程序,您可以在其中检查隐藏字段的值。

+0

是的。那就是问题所在!但是,我怎样才能处理它没有回发?我实际上想检查我的注册表单值是否正确,如果是,那么我的代码在代码后面继续。如果表单值不正确,我只想显示值不正确。当你看到“无效”布尔值时,我必须在JQ中完成它。有更好的建议吗? – 2014-10-05 10:29:51