【问题标题】:Telerik MVC Controls and JQuery ClosureTelerik MVC 控件和 JQuery 闭包
【发布时间】:2011-10-02 12:07:03
【问题描述】:

我在 asp.net mvc3 (RAZOR) 视图中有一个 Telerik 网格。在设计时,我还绑定了 OnDataBound 客户端事件。

@{
    Html.Telerik().Grid() 
        .Name("someGrid")
        .clientEvents(e=>e.OnDataBound("someGrid_onDataBound"))
        .Render();
 }

<script>
function someGrid_onDataBound(e){
  //.. some code which needs to access a function from a JavaScript closure.
}
</script>

在视图中,我链接了一个 JavaScript 文件,其中包含一个用于执行不同操作的闭包。在上面的函数中我需要从闭包中调用一些函数,为此我需要在闭包中声明这个函数。

谁能告诉我如何让“someGrid_onDataBound”[网格事件处理程序]从闭包中访问某些函数。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 telerik


    【解决方案1】:

    我从您的问题中了解到,您想将 JS 文件放在页面末尾。而且您希望能够从您的视图中访问它们!

    如果是这样,那么您应该在 _Layout.cshtml 末尾的 &lt;/body&gt; 标记之前添加对所有 JS 文件和库的引用,然后 在这些引用之后添加新的渲染部分 @RenderSection("Scripts")

    然后将您的脚本放在视图中的合适部分:

    @section Scripts{ 
    <script type="text/javascript">
    .........
    </script>
    }
    

    【讨论】:

    • 我在谈论 javascript 闭包
    【解决方案2】:

    在闭包中,您必须将上述 javascript 函数添加到窗口,如下所示。

    (function($){
    

    //这里是你的关闭函数

    window.someGrid_onDataBound = function(e){

     //.. some code which needs to access a function from a javascript closure.
    

    }

    })(jQuery);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 2014-04-18
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      相关资源
      最近更新 更多