2012-07-20 133 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 %> 

希望这有助于 问候