我的母版页包含一个以<ul><li><li><ul/>
格式动态创建的菜单。
当我点击它时,我想将其ID传递给codebehind,以便将其传递给基类以获得其权限。但是我从jQuery获得的价值在代码隐藏中总是为null - 但是我在jQuery函数中获得了价值。
<script type="text/javascript">
$(document).ready(function () {
$('#nav li').click(function () {
debugger;
var vals = $(this).text();
document.getElementById('hdnForLabel').value = vals ;
});
});
</script>
此页面加载我在母版页中使用。
protected void Page_Load(object sender, EventArgs e)
{
GetMenus();
string pageids = hdnForLabel.Value;
BasePage BasePage = new BasePage();
BasePage.LoadSettings(pageids );
}
答案 0 :(得分:0)
您是否检查过渲染的隐藏控件的ID是否真的是'hdnForLabel'?它可能是'ctl00_hdnForLabel'的一部分。 您可以使用jQuery检查是否已在客户端设置了值:
<script type="text/javascript">
$(document).ready(function () {
$('#nav li').click(function () {
debugger;
var vals = $(this).text();
document.getElementById('hdnForLabel').value = vals ;
alert( "Value: " + $("#hdnForLabel").val());
});
});
</script>
请注意,只有当页面通过回发发送回服务器时,才能获得为hdnForLabel.Value设置的值
protected void Page_Load(object sender,EventArgs e) {
GetMenus();
if (IsPostBack) {
string pageids = hdnForLabel.Value;
BasePage BasePage = new BasePage();
BasePage.LoadSettings(pageids );
}
}