0

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

1 回答 1

1

如果我正确理解了您的问题,那么

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

或者指定完整路径:

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

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

$.getScript('<%= .NET CODE FOR RETRIEVING PATH USING THE ~ SIGN %>');
于 2012-11-21T20:08:04.173 回答