MVC路由w/ angularJS模型结合了如何获取参数



我的应用程序使用MVC进行非常简单的路由。我有可供选择的控制器,这就是他们所做的所有事情(MVC控制器中没有代码)。我希望每个页面都充当Mini-Spa。因此,每个视图都以NG-Controller指令开头。在角控制器中,我与WebAPI进行交互以加载模型并处理其他客户端行为。当我转到/product/3之类的页面时,我希望gangularjs控制器知道我想要产品ID3。但是,由于我不使用angularjs来路由,所以我不能使用$ ruteparams或$ stateparams。我考虑过将仅包含从MVC控制器填充的ID的简单IDViewModel绑定。但是,在AngularJS控制器中,这似乎总是不确定的,因此模型结合以另一种方式起作用。

@model TripPayWeb.SPA.ViewModel.IdViewModel
@{
    ViewBag.Title = "Product Details";
}
<div ng-controller="productDetailsCtrl">
    <input type="hidden" ng-data="id" value="@Model.Id" />
</div>

获得ID的最佳方法是什么,以便我可以加载模型?

在AngularJS控制器中,可以用来获取URL的最后一块。

    var url = $window.location.href;
    var bits = url.split('/');
    var id = bits[bits.length - 1];

我需要类似的东西(在此处查看我的帖子)。我也不想使用控制器和视图来提供静态页面。因此,从我的答案中可以看到,我创建了自己的ASP.NET 5中间件,用于Angular。

中间件可通过Nuget获得。另外,您可以在GitHub上查看有关中间件的信息:

最新更新