7
"라우트 콜렉션에서 'MemberRoute'라우트를 찾을 수 없습니다.라는 오류가 발생합니다. 여기라우트 콜렉션에서 라우트 이름을 찾을 수 없음
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);
}
}
MemberController,
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 });
왜 경로 이름을 찾을되지 않는, 내 Global.asax에 무엇입니까?
여기를 참고하십시오 : http://stackoverflow.com/q/8944355/102937 –
글쎄, 제대로 표시되지 않는 것은 아닙니다. 나는 물건을 라우팅하고 컨트롤러/인덱스와 이것 저것을 추가하기 위해 리다이렉트를 시도했다. 그러나 그것은 site.com/member?userId=1&pseudoName=jondoe와 같은 url을 보이기보다는 site.com/member/이다. 1/정답 –