从asp.net中的codebehind访问jQuery返回的值时,该值始终为空
“我的母版页”包含一个以从asp.net中的codebehind访问jQuery返回的值时,该值始终为空,asp.net,jquery-ui,code-behind,Asp.net,Jquery Ui,Code Behind,“我的母版页”包含一个以格式动态创建的菜单 当我点击它时,我想将它的ID传递给codebehind,以便将它传递到基类中以获得它的许可。但我从jQuery中获取的值在codebehind中始终为空-但我在jQuery函数中获取的值 $(文档).ready(函数(){ $('#nav li')。单击(函数(){ 调试器; var vals=$(this.text(); document.getElementById('hdnForLabel')。值=VAL; }); }); 此页面加载我在母
格式动态创建的菜单
当我点击它时,我想将它的ID传递给codebehind,以便将它传递到基类中以获得它的许可。但我从jQuery中获取的值在codebehind中始终为空-但我在jQuery函数中获取的值
$(文档).ready(函数(){
$('#nav li')。单击(函数(){
调试器;
var vals=$(this.text();
document.getElementById('hdnForLabel')。值=VAL;
});
});
此页面加载我在母版页中使用
受保护的无效页面加载(对象发送方,事件参数e)
{
获取菜单();
字符串pageID=hdnForLabel.Value;
BasePage BasePage=新的BasePage();
加载设置(页面ID);
}
是否已检查渲染隐藏控件的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>
我检查了两次…隐藏控件的id仅相同…并且它仅在回发中。我在jquery中设置了它的值。您是否使用Firefox中的FireBug之类的工具检查了发布的值,以检查隐藏值是否发送到服务器?
GetMenus();
if (IsPostBack) {
string pageids = hdnForLabel.Value;
BasePage BasePage = new BasePage();
BasePage.LoadSettings(pageids );
}
}