【问题标题】:pass a c# variable to javascript function将 c# 变量传递给 javascript 函数
【发布时间】:2010-11-11 10:17:27
【问题描述】:

我正在尝试将 c# 变量作为参数传递给 java 脚本函数,例如

<%var count=model.SomeMode.Count();%>

当我将它传递给我的 java 脚本函数“checkAll(count)”时,它不会触发,但没有参数它可以正常工作

<a  href="#" onclick="return checkAll(count);">CheckAll</a>

【问题讨论】:

    标签: c# javascript asp.net-mvc


    【解决方案1】:

    请记住,页面是根据您的意愿创建的。因此,您可以执行以下操作:

    <script type="text/javascript">
      var count = <%=model.SomeMode.Count(); %>;
    </script>
    

    你可以在方法调用中应用相同的逻辑,所以你可以这样做:

    <a  href="#" onclick="return checkAll(<%=model.SomeMode.Count(); %>);">CheckAll</a>
    

    【讨论】:

      【解决方案2】:

      Javascript 不能直接看到你的 C# 源代码 - 你需要将它写入服务器端的 Javascript 源代码:

      <a  href="#" onclick="return checkAll(<%= count %>);">CheckAll</a>
      

      【讨论】:

        【解决方案3】:

        应该是这样的:

        <script type="text/javascript">
          var count=<%=model.SomeMode.Count()%>;
        </script>
        

        目前您在 C# 中声明变量,而不是在页面中将其作为 JavaScript 输出。相反,您想在页面中逐字声明var count,并将其设置为model.SomeMode.Count() 的输出。

        【讨论】:

          【解决方案4】:

          这可能对您的解决方案有好处:

          <a  href="#" onclick='return checkAll(<%=count%);'>CheckAll</a>
          

          但是还有一种方法可以代替传统方法:

          Sharing Variables Between JavaScript and C#Fredrik Kalseth

          【讨论】:

            猜你喜欢
            • 2016-08-21
            • 1970-01-01
            • 1970-01-01
            • 2015-05-02
            • 2017-04-30
            • 2018-12-14
            • 2014-10-31
            • 2020-09-02
            相关资源
            最近更新 更多