1

我开始使用 ASP.NET MVC 4 和 Durandal 开发 SPA。
我自定义了 durandal 视图定位器来调用我的 MVC 控制器并使用“.cshtml”文件作为我的视图。这样做,可以使用 Razor 语法并执行以下操作:

@if (Roles.IsUserInRole("Admin"))
{
   // Code
}

但是,我需要将参数传递给我的控制器以加载不同的数据,然后将其作为视图的模型传递。例如,我有一个仪表板列表,当用户单击打开时,我必须传递仪表板的 id 以加载其结构。
我的路线配置如下:

var routes = [
            { route: 'dashboard/:id', moduleId: 'dashboard', title: 'Dashboard' }]; 

仪表板视图模型的激活函数接收参数,但我需要将 id 发送到 MVC 控制器。
我一直在寻找一些方法来做到这一点,但我还没有找到任何东西。有一个类似的问题,但没有回答。
任何建议表示赞赏。谢谢!:D

4

1 回答 1

0

在你的壳里

define(['plugins/http', 'plugins/router'], function(http, router){

  // make call to build routes based on authenticated user (implement to return an array in 'routes')
  http.get('URL_for_RoutesCurrentUser')
      .then(function(result) {
        $.each(result.routes, function(key, value){
          router.routes.push(value);
        });
      });
})
于 2013-12-13T20:21:13.320 回答