【发布时间】:2013-10-04 12:10:35
【问题描述】:
我开始使用 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' }];
dashboard的viewmodel的activate函数接收参数,但是我需要将id发送给MVC控制器。
我一直在寻找一些方法来做到这一点,但我还没有找到任何东西。有这个question 是类似的,但没有回答。
任何建议表示赞赏。谢谢! :D
【问题讨论】:
-
我一直对将 Durandal 打包为 NuGet MVC 包的疑问之一是,为什么要同时拥有客户端和服务器端 MVC。我在这里看到几个关于他们如何踩到对方脚趾的问题。有什么理由同时使用两者?
-
我正在使用 durandal 为我的用户提供更流畅的应用程序。它可以帮助我在其他视图(即登录、菜单、配置等)之间导航。但我必须生成动态 HTML,具体取决于打开的仪表板。最简单的方法是使用 razor 语法。我可以做一个 foreach 并调用 js 组件或部分视图来呈现我的控件。
标签: asp.net-mvc-4 durandal single-page-application