2015-07-11 125 views
0

我有一個ASPX頁面上的隱藏控件,我設置了值在JQuery方法中。在後面的代碼中,當我嘗試讀取該值時,它爲該隱藏字段提供空值。下面是代碼:ASP.NET隱藏標籤字段的空值

.ASPX代碼:

<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" 
      data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> 
      Sign-in as <span id="Span1" class="caret"></span> 
</button> 
<asp:HiddenField ID="userrole" runat="server" /> 

jQuery代碼:

$('.dropdown-menu a').click(function() { 
    $("#dropdownMenu1").html($(this).text() + '<span class="caret"></span>'); 
    $('#<%= userrole.ClientID%>').val($(this).text()); 
}); 

$('#Sign_in_form').submit(function (e) { 
    var selectedRole = $("#dropdownMenu1").text().trim(); 
    if (selectedRole == "Sign-in as" || selectedRole == null || selectedRole == "") { 
     alert("Please select your Role!"); 
     e.preventDefault(); 
    } 
    else { 
     alert("Signing in as: " + selectedRole); 
    } 
}); 

代碼背後:

if (IsPostBack) 
    { 
     string role = userrole.Value; //THIS GIVES EMPTY VALUE 
    } 
+0

您是否驗證過它在回發前實際上包含值?你怎麼做回發順便說一句? – Andrei

+0

@Andrei我在我原來的帖子下發布了相關的代碼。 – Azeem

+0

謝謝。但是這並沒有回答第一個問題。你有沒有嘗試調試或控制檯或任何東西來驗證隱藏字段收到任何價值? – Andrei

回答

0

的原因我的問題是,我跑JQuery方法(設置ASP隱藏標籤)在一個單獨的腳本文件中。我在ASPX頁面中移動了該方法,現在工作正常。

0

您必須根據您的要求設置會話變量。

//set the value on some action... 
Session["provSel"] = {value}; 
... 
if (IsPostBack) 
{ 
    if (Session["provSel"] != null) 
    { 
     string role = Session["provSel"].ToString(); 
    } 
}