小编典典

Angular路由模板URL在ASP.Net MVC 5 Project中是否支持* .cshtml文件?

angularjs

我正在从事MVC 5项目。当我在视图上使用html页面时,它将加载该页面,但是当我使用.cshtml页面时,它将不加载视图。出现空白页。

$urlRouterProvider
    .otherwise('/app/dashboard');

$stateProvider            
    .state('app', {
        abstract: true,
        url: '/app',
        templateUrl: 'tpl/app.html'
    })
    .state('app.dashboard', {
        url: '/dashboard',
        templateUrl: 'tpl/app_dashboard.html'
    })

请指导我如何使用cshtml文件或最佳方法。


阅读 285

收藏
2020-07-04

共1个答案

小编典典

是的你可以。

为Yasser的添加类似的答案,但是使用ngRoute:

1)除了引用部分HTML,您还需要引用Controller / Action到ASP.NET MVC应用。

.when('/order', {
    templateUrl: '/Order/Create',
    controller: 'ngOrderController' // Angular Controller
})

2)您的ASP.NET MVC将返回一个.cshtml视图:

public class OrderController : Controller
{
    public ActionResult Create()
    {
        var model = new MyModel();
        model.Test= "xyz";

        return View("MyView", model);
    }
}

3)您的MyView.cshtml将混合Razor和Angular。注意:作为Angular应用程序的一部分,请将布局设置为null。

@model MyProject.MyModel

@{
   Layout = null;
}

<h1>{{ Test }}</h1> <!-- Angular -->
<h1>Model.Test</h1> <!-- Razor -->
2020-07-04