我们目前正在使用MVC6获得一个新的应用程序.在以前的版本中,我们使用T4MVC,所以我们可以做以下事情:
@Url.Action(MVC.Home.Index);
和
return View(MVC.Home.Views.Index, model);
在新的应用程序中,我必须使用魔术字符串.我讨厌魔法字符串.对于MVC6,还有其他替代方案吗?
遇到了GitHub上的AspNet.Mvc.TypedRouting存储库,我认为当我最终移至MVC6时会很有用。
不确定是否也可以处理视图
自述文件中的一些说明
要使用基于表达式的链接生成,您需要对Startup类进行以下操作:
public void Configure(IApplicationBuilder app) { // other configuration code app.UseMvc(routes => { routes.UseTypedRouting(); }); }
基本上,您可以执行以下操作:
// generating link without parameters - /Home/Index urlHelper.Action(c => c.Index()); // generating link with parameters - /Home/Index/1 urlHelper.Action (c => c.Index(1)); // generating link with additional route values - /Home/Index/1?key=value urlHelper.Action (c => c.Index(1), new { key = "value" }); // generating link where action needs parameters to be compiled, but you do not want to pass them - /Home/Index // * With.No () is just expressive sugar, you can pass 'null' for reference types but it looks ugly urlHelper.Action (c => c.Index(With.No ()));