Angular路由模板URL是否支持ASP.NetMVC5项目中的*.cshtml文件?我正在从事MVC5项目。当我在视图中使用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文件或最佳方式。是的你可以。添加到Yasser的类似答案,但使用ngRoute:1)您需要将Controller/Action引用到ASP.NETMVC应用程序,而不是部分HTML。.when('/order',{templateUrl:'/Order/Create',controller:'ngOrderController'//AngularController})2)您的ASP.NETMVC将返回.cshtml视图:publicclassOrderController:Controller{publicActionResultCreate(){varmodel=newMyModel();模型。测试=“xyz”;返回视图(“我的视图”,模型);}}3)你的MyView.cshtml将是Razor和Angular的混合体。注意:作为Angular应用程序的一部分,将布局设置为空。@modelMyProject.MyModel@{Layout=null;}{{Test}}Model.Test你不能。您不能在角度路由的模板url中使用.cshtml文件的路径。您可以在浏览器中打开.cshtml文件吗?没电?这同样适用于此。解决方法:.cshtml文件包含服务器端代码,要呈现它,您需要使用控制器和操作。他们将为您呈现.cshtml文件。因此,让控制器操作为您返回该视图,并在角度路由中使用控制器操作的URL。例如:state('app.dashboard',{url:'/dashboard',templateUrl:'/dashboard/index'})同publicclassDashboardController:Controller{publicActionResultIndex(){returnView();ps:试过了,这对我有用,你不能混合使用angularJs和Razor视图,razor在服务器中加载,angular在客户端运行,它使用在浏览器中运行的javascript来呈现视图,这就是人们倾向于的原因在你的情况下使用restapi作为后端,因为你使用.net它可以是webapi或服务堆栈。你可以做的是将剃刀视图实现为主要的“索引页面”,但让angularjs从那里处理“内部”页面的路由。请记住,angular是建立在单页面应用程序的思想之上的,这是asp.netmvc架构的不同视角。cshtml本质上是具有razor语法的内联csharp代码,并在服务器站点上呈现为html,因此您不能在角度路由中使用它,因为浏览器无法识别c#对ASP.NetMVC5项目中*.cshtml文件的支持?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
