【问题标题】:Loading a script with jQuery in .NET MVC3在 .NET MVC3 中使用 jQuery 加载脚本
【发布时间】:2012-11-21 19:56:21
【问题描述】:

我目前正在使用 jQuery 的 .load 加载模型。成功加载后,我想执行一些依赖于加载模型的 JavaScript。

buildFindOrderDialog: function () {
    workflowDialogContent.load('../../csweb/Orders/FindOrderDialog/', function () {
        $.getScript('~/Scripts/FindOrderDialogModel.js');
        workflowDialog.dialog('open');
    });
}

load 方法执行 Order Controller 的 FindOrderDialog 方法,该方法返回一个 ViewModel。加载后,我想运行我的 FindOrderDialogModel javascript 来影响模型客户端。

上面的代码没有正确加载 javascript。我想知道:我的控制器是否必须提供加载 javascript 的方法?客户端没有相对路径的概念。

当然,我可以将脚本内联到 FindOrderDialog 视图中,这会导致它在加载后执行,但这似乎有点小技巧。

更新:我的语法有点不对劲。这有效:

buildFindOrderDialog: function () {
    workflowDialogContent.load('../../csweb/Orders/FindOrderDialog/', function () {
        $.getScript('../Scripts/Orders/FindOrderDialogModel.js');
        workflowDialog.dialog('open');
    });
},

【问题讨论】:

    标签: javascript jquery asp.net-mvc asp.net-mvc-3


    【解决方案1】:

    如果我正确理解了您的问题,那两个呢

    $.getScript('Scripts/FindOrderDialogModel.js');
    

    或者指定完整路径:

    $.getScript('/My/Full/Path/Scripts/FindOrderDialogModel.js');
    

    或者最后,通过 ASP.NET 注入相对路径:

    $.getScript('<%= .NET CODE FOR RETRIEVING PATH USING THE ~ SIGN %>');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      相关资源
      最近更新 更多