繁体   English   中英

MVC6强类型的动作链接和视图

[英]MVC6 Strongly typed action links and views

我们目前正在使用MVC6获得一个新的应用程序。 在以前的版本中,我们使用T4MVC,所以我们可以做以下事情:

@Url.Action(MVC.Home.Index);

return View(MVC.Home.Views.Index, model);

在新的应用程序中,我必须使用魔术字符串。 我讨厌魔法字符串。 对于MVC6,还有其他替代方案吗?

在GitHub上遇到了这个AspNet.Mvc.TypedRouting Repository,我认为当我最终转移到MVC6时它会很有用。

不确定它是否也处理视图

自述文件中的一些说明

要使用基于表达式的链接生成,您需要在Startup类中执行以下操作:

public void Configure(IApplicationBuilder app)
{
   // other configuration code

   app.UseMvc(routes =>
   {
        routes.UseTypedRouting();
   });
}

基本上,您可以执行以下操作:

// generating link without parameters - /Home/Index
urlHelper.Action<HomeController>(c => c.Index());

// generating link with parameters - /Home/Index/1
urlHelper.Action<HomeController>(c => c.Index(1));

// generating link with additional route values - /Home/Index/1?key=value
urlHelper.Action<HomeController>(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<TParameter>() is just expressive sugar, you can pass 'null' for reference types but it looks ugly
urlHelper.Action<HomeController>(c => c.Index(With.No<int>()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM