【问题标题】:get property from code behind into aspx page从后面的代码中获取属性到 aspx 页面
【发布时间】:2009-12-17 20:21:02
【问题描述】:

是否可以将属性(get; set;)说名称从代码隐藏(aspx.cs)文件中获取到jquery?

【问题讨论】:

  • 如果你想将属性的值传递给你的 JQuery,你可以将它传递给一个隐藏字段,然后从 JQuery 中获取它。

标签: c# asp.net jquery


【解决方案1】:

是的,取决于您的框架:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    2. 您可以通过在属性窗口中将外部 javascript 文件的内容类型更改为“嵌入式资源”,然后使用以下命令,将外部 javascript 文件变为网络资源:

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

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

    【讨论】:

    • 抱歉这么晚回复,但我只是在做同样的事情,通过谷歌我偶然发现了这里。那么,这可以用来获取属性,在这种情况下Name,设置属性怎么样?如何从 jquery/javascript 设置此 Name 属性?
    【解决方案3】:

    您可以像这样使用受保护的属性,var name = '&lt;%= Name %&gt;';

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

    【讨论】:

      【解决方案4】:

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

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

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

      最后不要省略'true'参数,因为默认是不添加脚本标签,这会阻止脚本工作。

      【讨论】:

        【解决方案5】:

        您可以使用隐藏的输入控件并在属性内设置它的值。那么你可以通过访问隐藏变量的值来访问属性的值。

        aspx 页面

        &lt;asp:HiddenField id="hiddenField1" runat="server"&gt;

        后面的代码

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多