代码之家  ›  专栏  ›  技术社区  ›  Rolando F

从cshtml文件调用静态方法

  •  0
  • Rolando F  · 技术社区  · 10 年前

    我正在尝试从垂直的选项卡面板上创建一个可点击的DIV。我想要的是当点击一个特定的DIV时调用一个静态方法来执行一些任务,所以我这样做了:

    <div class="tabbable tabs-left">
    <ul class="nav nav-tabs">
      <li onclick="myEvent()"><a href="#b" data-toggle="tab">Tuttle</a></li>
    

    然后,我的JavaScript代码:

     <script>    
          function clickEvet() {    
          alert("alert test message");   
          @MyProject.myMethod()    
        }   
    </script>    
    

    调用函数“clickEvent()”有效。问题是@MyProject。myMethod()不管是什么都会被调用,换句话说,就是@MyProject。页面加载后立即执行myMethod()。只有当我点击我的div时,我才想要它。


    我正在编辑我的问题,以发布答案供将来参考……: 多亏了其他评论,我终于了解了如何使用Ajax并使其工作。解决方案如下:

     <script>     
               function vaxGUID() {          
            $.ajax({
                type: 'POST',
                url: "/VAXBean/bmx",
                data: '{"Name":"AA"}',
                contentType: 'application/json; charset=utf-8',
                dataType: 'html',
                success: function (data) {                    
                    bmx = "http://www.vitalbmx.com";
                    $('a.varURL').attr('href', bmx);
                    GUID = data;                    
                    alert("Good response - " + data + " - " + bmx);
                },
                error: function (data, success, error) {
                    alert("Error : " + error);
                }
            });
            return false;
        }
    </script>
    

    使用这个Ajax方法,我在后台调用一些静态方法

    2 回复  |  直到 10 年前
        1
  •  1
  •   Igor    10 年前

    I want it only when I click on my div. <=发送请求后,单击浏览器中正在执行的DIV。浏览器无法在应用程序中的方法内直接回调。HTML已经由服务器在请求中生成并发送给客户端,这就是通信周期停止的地方。

    1. 创建一个AJAX请求返回到MVC控制器以获取数据(或其他)。
    2. 创建链接(标准url)
    3. 创建表单回发

    当然 @MyProject.myMethod() myMethod 输出一些javascript或浏览器可以理解并使用的内容,这是预期的。

        2
  •  0
  •   Community Mohan Dere    9 年前

    你做不到。全部的 @ (Razor)表达式在服务器上的页面呈现期间解析。这就是为什么调用您的方法。

    可能需要进行Ajax调用。

    请在此处查看更详细的说明: How do I call a static method on my ASP.Net page, from Javascript?

    推荐文章