2014-10-05 72 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

相關問題