从代码中获取属性到aspx页面

是否有可能将属性(get; set;)从代码隐藏(aspx.cs)文件中的名称变成jquery?

是的,取决于您的框架:

 

您可能会遇到编码问题,因此请确保转义javascript的值。

是的。 如果您的脚本在aspx页面中内联,只需使用ASP标记将其放入脚本中即可。

  public function myJSFunction() { var x = '<%= Name %>'; ... }  

如果你的脚本不是内联的,即它来自一个单独的javascript文件,你有几个选择。

  1. 您可以使用上面的技术将所需的变量添加到页面中,然后外部javacript可以引用它。

  2. 您可以通过在属性窗口中将其内容类型更改为“Embedded Resource”,然后使用以下内容将外部javascript文件设置为Web资源:

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

在WebResourceAttribute上使用“PerformSubstitution”标志将使得文件在呈现之前通过asp解析器运行,并且它将替换它在文件中找到的任何ASP标记。 Web资源有一些缺点,所以你应该在决定使用它们之前阅读它们。

您可以使用这样的受保护属性, var name = '<%= Name %>';

或者从代码隐藏生成JavaScript代码并使用ClientScript.RegisterClientScript*注册到客户端

在代码隐藏中添加以下内容:

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

其中clientValue是您希望可访问的值,通过在客户端代码中使用普通的javascript变量clientVariable。

不要在最后省略’true’参数,因为默认情况下不添加脚本标记,这会阻止脚本工作。

您可以使用隐藏的输入控件并在属性中设置它的值。 然后,您可以通过访问隐藏变量的值来访问属性的值。

aspx页面

代码背后

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