我在ASPX页面上有一个隐藏控件,我在JQuery方法中设置了值。在后面的代码中,当我尝试读取值时,它为该隐藏字段提供空值。这是代码:
.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 :(得分:0)
我的问题的原因是我在一个单独的脚本文件中运行JQuery方法(将ASP隐藏标签设置)。我在ASPX页面中移动了该方法,现在工作正常。
答案 1 :(得分:0)
您必须根据所要求的内容设置会话变量。
//set the value on some action...
Session["provSel"] = {value};
...
if (IsPostBack)
{
if (Session["provSel"] != null)
{
string role = Session["provSel"].ToString();
}
}