使用HiddenField将jQuery变量传递给ASP.NET代码

时间:2013-03-17 18:16:28

标签: c# jquery asp.net

我遇到了使用隐藏字段和jQuery将div(高度和宽度)的物理大小传递给ASP.NET变量的问题。

这是我的代码,但它不起作用:

$("<%=hfAdvertHeight.ClientID %>").val($("#Advert_Container").attr("height"));

有什么想法吗?

非常感谢。

4 个答案:

答案 0 :(得分:0)

代码应包含id选择器#

$("#<%=hfAdvertHeight.ClientID %>").val($("#Advert_Container").attr("height"));

如果您在页面加载时执行此操作,请确保将代码包装在ready函数中。

$(document).ready(function(){
    $("#<%=hfAdvertHeight.ClientID %>").val($("#Advert_Container").height());
});

另请注意,不是通过attr检索身高属性,而是可以使用.height()更轻松地检索身高属性。

答案 1 :(得分:0)

你忘记了隐藏字段名称之前的#:

$("#<%=hfAdvertHeight.ClientID %>").val($("#Advert_Container").attr("height"));

答案 2 :(得分:0)

在你的html中添加“ClientIDMode =”Static“”作为隐藏控件属性,然后尝试:  $( “#hfAdvertHeight”)VAL($( “#Advert_Container”)ATTR( “高度”)。);

答案 3 :(得分:0)

如果您的ASP.NET隐藏字段ID是“HiddenMyField”,请使用:

<asp:HiddenField ID="HiddenMyField" runat="server" />

var input = $("[id$='HiddenMyField']").val();

$.ajax {
         url:.....,
         data: JSON.stringify(input),
         ...
}

这对我来说很好。