2013-03-17 34 views
2

我遇到傳遞一個div(高度和寬度)的物理尺寸成使用隱藏字段和jQuery一個ASP.NET可變問題背後。通行證jQuery的可變進ASP.NET代碼使用HiddenField

這是我的代碼,但它不工作:

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

任何想法?

非常感謝。如果您正在執行的頁面加載這個動作一定要包裝你的代碼在ready功能

+0

缺少的ID選擇器(#) – writeToBhuwan 2013-03-17 18:29:36

回答

0

的代碼應包括id選擇#

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

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

還要注意的是,代替經由attr檢索高度屬性它可以使用.height()檢索更容易。

+0

我已經作出修改,三江源,但它仍然沒有工作 - 我必須有一個錯誤在其他地方。我在後面的代碼中收集了值:「string advertHeight = hfAdvertHeight.Value;」,在Page_Load()中。這是錯的嗎? – Adam92 2013-03-17 18:23:30

+0

嘗試({這裏*// *碼}()函數)包裝你的代碼在'$(文件)。就緒;'。這將確保該元素已被加載到DOM上。 – 2013-03-17 18:24:26

+0

該代碼已經在該功能中。它必須是設置隱藏文本框值的問題,因爲當我在VS中調試時,值字段爲空:( – Adam92 2013-03-17 18:27:40

0

你忘了#隱藏字段名前:

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

添加 「的ClientIDMode =」 靜 「」 在你的HTML作爲隱藏控件屬性,然後嘗試: $( 「#hfAdvertHeight」)。 VAL($( 「#Advert_Container」)ATTR( 「高」));

0

如果你的ASP.NET隱藏字段ID爲 「HiddenMyField」,然後使用此:

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

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

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

這對我工作的罰款。