目前,我正在用C#ASP.NET Core和Razor Pages编写Web应用程序。
将来,我想用Angular应用程序替换前端。现在,我想知道如何设置控制器以同时服务于这两种技术。
问题是,使用Razor页面时,我的控制器方法必须返回ViewResult对象以正确呈现视图。结果显然不能在Angular中使用,并且控制器方法并不是真正的RESTful,我希望它们是。
那么有没有办法实现支持Razor和Angular的控制器?
提前致谢
如果您要走有角度的路,那不是真的。Angular期望使用Xhr请求进行通信。
网络核心中甚至还提供了针对角度应用程序的模板:https : //docs.microsoft.com/zh-cn/aspnet/core/client-side/spa/angular?view=aspnetcore-3.1&tabs=visual-studio
从理论上讲,您可以通过一些重复来实现所需的功能。
即:
[HttpGet]
public ActionResult Index()
{
IndexViewModel viewModel = GetIndexModel();
// Add action logic here
return View(viewModel);
}
[HttpGet]
public IndexViewModel GetIndexModel() {
// return the view model.
}
第二个get函数可以用作您的角度应用程序的xhr请求。确实不建议这样做。调整角度是一个很好的机会,可以将api转换为Rest并正确处理spa中的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句