gpt4 book ai didi

asp.net-mvc - 在路线集合中找不到路线名称

转载 作者:行者123 更新时间:2023-12-02 01:16:10 24 4
gpt4 key购买 nike

我收到此错误“在路由集合中找不到名为“MemberRoute”的路由。参数名称:名称”。这是我的 Global.asax,

public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"MemberRoute", // routeName
"member/{userId}/{pseudoName}", // url
new
{ // url defaults
controller = "Member",
action = "Index",
userId = 0,
pseudoName = UrlParameter.Optional
},
new
{ // url constraints
userId = @"\d+" // must match url {userId}
}
);
}

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();

FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}

成员 Controller ,

public ActionResult Index(int userId, string pseudoName)
{
User user;
var unitOfWork = new UnitOfWork();
user = unitOfWork.UserRepository.GetById(userId);

var expectedName = user.PseudoName.ToSeoUrl();
var actualName = (pseudoName ?? "").ToLower();

// permanently redirect to the correct URL
if (expectedName != actualName)
return RedirectToActionPermanent("Index", "Member", new { id = user.UserId, pseudoName = expectedName });
return View(user);
}

来电者,

return RedirectToRoute("MemberRoute", new { userId = user.UserId, pseudoName = user.PseudoName });

为什么找不到路线名称?

最佳答案

发现这是由于 MVC 4 造成的,所有自定义路由都位于 RouteConfig.cs 文件中的 App_Start 文件夹中。当我打开 Global.asax.cs 时,没有 RegisterRoutes 方法,因此我自己添加了它并添加了我的自定义路由,但它不起作用。找到 RouteConfig 文件,它已经在那里,RegisterRoutes 方法已经设置了默认值。在那里添加了我的自定义路线,它按预期工作。

关于asp.net-mvc - 在路线集合中找不到路线名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173936/

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