2012-07-20 168 views
0

我有一個HTML頁面,然後由後臺的一些.NET代碼獲取並顯示爲出來放頁面。將.NET變量值傳遞給Java腳本變量

在HTML頁面,我可以像

<PrintingField:PrintingQuantity> 

<PrintingField:ClientPrintingNotes> 

我想捕捉的變量之一的值中的Java腳本變量在同一個HTML頁面顯示某些變量的值。例如:

Var T1 = <PrintingField:ClientPrintingNotes> 

這樣我就可以使用一些java腳本函數來驗證T1。

請大家幫忙。

+0

我對這個語法不熟悉:''你在使用某種模板引擎嗎?通常,ASP .NET值以經典語法('<%= SomeValue%>')或更近的MVC Razor語法('@ Model.SomeValue')發送到頁面。其中的任何一個都可以在JavaScript代碼中正常工作(儘管後者通常需要創造性地使用''標籤來使解析器工作)。 – David 2012-07-20 10:41:15

回答

0

您可以在aspx頁面和jquery上使用文字控件來檢索值。

在ASPX你有這樣的標記:

<div id="TheDivID"><asp:Literal runat="server" ID="SomeValue" /></div> 

在後面的C#代碼的代碼,然後寫:

SomeValue.Text = MyVar.ToString(); 

然後在JavaScript您有:

var TheValueFromServer = $('#TheID').text(); 

希望這會有所幫助,祝你好運。

+0

爲什麼不使用隱藏的表單字段來獲得相同的效果,並使用'.val()'而不是'.text()'來從中獲取值?看起來像隱藏的字段更容易保存一個值,而不是頁面上某個隨機的'div'顯示元素(然後需要隱藏樣式)。 – David 2012-07-20 10:47:25

+0

@David:有很多方法可以完成同樣的事情。 – frenchie 2012-07-20 11:04:23

0

我不確定你的意思是PrintingField,但我認爲這是你的自定義類。如果你只是訪問一個類的屬性,您可以通過使用做到這一點:

var T1 = '<%= PrintingField.ClientPrintingNotes %>'; 

如果它是一個實例類,PrintingField將是變量的名稱。請記住,這不是雙向認可。這發生在頁面構建並推送到客戶端時。

+0

嗨Joel T1沒有顯示任何值。 – Krishnam 2012-07-20 11:10:30

+0

@Krishnam:這表明無論你傳遞什麼都沒有翻譯的價值。 – 2012-07-20 11:16:57

+0

注意'PrintingField.ClientPrintingNotes'和'PrintingField:ClientPrintingNotes'之間的區別。我不確定OP是通過了什麼,但它不是標準的.NET值。 @Krishnam:你使用的是什麼語法? – David 2012-07-20 11:51:12

0

要在後臺代碼中定義的HTML部分中的訪問屬性,你就需要定義根據企業的性質或變量爲public,然後用它們如下:

<%= this.MyVariable %> 

希望這有助於 問候