ASP.NET隐藏标签字段的空值
本文关键字:空值 字段 标签 NET 隐藏 ASP | 更新日期: 2023-09-27 18:02:18
我在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
}
我的问题的原因是我在一个单独的脚本文件中运行JQuery方法(设置ASP隐藏标签)。我把这个方法移到了ASPX页面,现在它工作得很好。
您必须根据您的要求设置会话变量。
//set the value on some action...
Session["provSel"] = {value};
...
if (IsPostBack)
{
if (Session["provSel"] != null)
{
string role = Session["provSel"].ToString();
}
}