[英]get property from code behind into aspx page
是否有可能將屬性(get; set;)從代碼隱藏(aspx.cs)文件中的名稱變成jquery?
是的,取決於您的框架:
<script type="text/javascript">
var someProp = "<% = this.PropertyName; %>";
</script>
您可能會遇到編碼問題,因此請確保轉義javascript的值。
是的。 如果您的腳本在aspx頁面中內嵌,只需使用ASP標記將其放入腳本中。
<html.....
<script type="text/javascript">
public function myJSFunction()
{
var x = '<%= Name %>';
...
}
</script>
如果你的腳本不是內聯的,即它來自一個單獨的javascript文件,你有幾個選擇。
您可以使用上面的技術將所需的變量添加到頁面中,然后您的外部javacript可以引用它。
您可以通過在屬性窗口中將其內容類型更改為“Embedded Resource”,然后使用以下內容將外部javascript文件設置為Web資源:
[assembly: WebResource("myJS.js", "text/javascript", PerformSubstitution=true)]
在WebResourceAttribute上使用“PerformSubstitution”標志將使得文件在呈現之前通過asp解析器運行,並且它將替換它在文件中找到的任何ASP標記。 Web資源有一些缺點,所以你應該在決定使用它們之前閱讀它們。
您可以使用這樣的受保護屬性, var name = '<%= Name %>';
或者從代碼隱藏生成JavaScript代碼並使用ClientScript.RegisterClientScript*
注冊到客戶端
您可以使用隱藏的輸入控件並在屬性中設置它的值。 然后,您可以通過訪問隱藏變量的值來訪問屬性的值。
前
aspx頁面
<asp:HiddenField id="hiddenField1" runat="server">
代碼背后
Public Property MyProperty as String
Get
Return hiddenField1.Value
End Get
Set(value as string)
hiddenField1.Value = value
End Set
jQuery的
var hValue = $('#<%= hiddenField1.ClientID %>').val();
在代碼隱藏中添加以下內容:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientVariable", "var clientVariable = '" + clientValue + "';", true);
其中clientValue是您希望可訪問的值,方法是在客戶端代碼中使用常規的javascript變量clientVariable。
不要在最后省略'true'參數,因為默認情況下不添加腳本標記,這會阻止腳本工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.