2009-12-17 87 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'参数,因为默认情况下不添加脚本标记,这会阻止脚本工作。

相关问题