2009-12-17 86 views
3

是否有可能獲得屬性(get; set;)說名稱從代碼背後(aspx.cs)文件到jquery中?從代碼的屬性後面到aspx頁

+1

如果您想將屬性的值傳遞給JQuery,可以將它傳遞給隱藏字段,然後從JQuery中獲取它。 – 2009-12-17 20:23:58

回答

5

是的。如果您的腳本在aspx頁面內嵌,只需使用ASP標籤將其放入腳本。

<html..... 
<script type="text/javascript"> 
    public function myJSFunction() 
    { 
     var x = '<%= Name %>'; 
     ... 
    } 
</script> 

如果您的腳本不是內聯的,即它來自單獨的javascript文件,您有幾個選項。

  1. 您可以使用上述技術將所需的變量添加到頁面中,然後您的外部javacript可以引用它。

  2. 可以使外部JavaScript通過改變它在屬性窗口爲「嵌入的資源」的內容類型,然後使用文件的Web資源下列內容:

    [assembly: WebResource("myJS.js", "text/javascript", PerformSubstitution=true)]

使用WebResourceAttribute上的「PerformSubstitution」標誌將使得該文件在呈現之前通過asp解析器運行,並且它將替換它在文件中找到的任何ASP標記。 Web資源有一些缺點,所以你應該在決定使用它們之前閱讀它們。

+0

對不起,這樣一個遲到的回覆,但我只是做同樣的事情,谷歌我偶然發現在這裏。所以,這可以用來獲取財產,在這種情況下,'名稱',如何設置財產?我怎樣才能從jquery/javascript中設置這個'Name'屬性? – Razort4x 2012-08-30 05:40:11

7

是的,這取決於你的框架:

<script type="text/javascript"> 
var someProp = "<% = this.PropertyName; %>"; 
</script> 

您可能會遇到編碼問題,所以一定要確保你逃避的JavaScript值。

1

您可以使用受保護的屬性就是這樣,var name = '<%= Name %>';

或者生成代碼隱藏的JavaScript代碼,並通過使用ClientScript.RegisterClientScript*

0

你可以使用一個隱藏的輸入控制寄存器,以客戶端,並設置它裏面的值財產。那麼您可以通過訪問隱藏變量的值來訪問該屬性的值。

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(); 
0

在代碼隱藏加個E採用:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientVariable", "var clientVariable = '" + clientValue + "';", true); 

其中clientValue是你想成爲訪問,通過在客戶端代碼使用正常的JavaScript變量clientVariable值。

最後不要忽略'true'參數,因爲默認情況下不添加腳本標記,這會阻止腳本工作。

相關問題