gpt4 book ai didi

c# - MVC6 强类型操作链接和 View

转载 作者:太空狗 更新时间:2023-10-29 17:54:50 26 4
gpt4 key购买 nike

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

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

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

在新应用程序中,我必须使用魔法字符串。我讨厌魔术弦。对于 MVC6,是否有任何替代方案?

最佳答案

遇到这个AspNet.Mvc.TypedRouting GitHub 上的存储库,我认为在我最终迁移到 MVC6 时会有用。

不确定它是否也处理 View

自述文件中的一些说明

要使用基于表达式的链接生成,您需要在 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>()));

关于c# - MVC6 强类型操作链接和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34643269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com