在 .NET MVC3 中使用 jQuery 加载脚本



我目前正在用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');
    });
},

如果我正确理解你的问题,那么要么怎么样

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

或者指定完整路径:

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

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

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

最新更新