[英]Passing value from code-behind to Javascript
我正在使用jQueryUI ProgressBar向用戶顯示他們已經使用了多少允許的文件存儲。 百分比是在后台代碼中計算的,應該傳遞給Javascript。
Aspx代碼
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript">
$(function () {
var pct = document.getElementById("filesPercentage").value;
$("#progressbar").progressbar({
value: pct
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
...
<input type="hidden" runat="server" id="filesPercentage" />
<div id="progressbar"></div>
...
</asp:Content>
背后的代碼
protected void Page_Load(object sender, EventArgs e)
{
filesPercentage.Value = "85";
}
似乎無法從隱藏字段中獲取百分比數字。 任何幫助,將不勝感激。
您需要獲取隱藏輸入的渲染ID
var pct = document.getElementById("<%=filesPercentage.ClientID%>").value;
從您在服務器上運行輸入的那一刻起,最好使用asp:HiddenField
而不是input
由於您的隱藏字段是服務器控件,因此可能會將ID生成為filesPercentage
其他filesPercentage
(可能類似於ctl00_ctl00_filesPercentage
)
document.getElementById("<%=filesPercentage.ClientID%>").value;
$('[hidden's parent element] input[type="hidden"]').val()
此外,progressbar值似乎需要一個數字,因此您可能需要輸入value: pct * 1
或value: parseInt(pct)
嘗試這個
var pct = document.getElementById("<%=filesPercentage.ClientID %>").value;
.net將修改您提供的控件的ID,以確保它是唯一的,因此您不能使用正確的ID訪問它。 如果為隱藏字段賦予唯一的類名稱,則可以通過以下方式訪問值:
<input type="hidden" runat="server" id="filesPercentage" class="hiddenClass" />
var pct = $('.hiddenClass').val();
這有點干凈恕我直言:-)
$("#progressbar").progressbar({
value: $("#<%=filesPercentage.ClientID%>").val()
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.