У меня есть Зона с именем Members и следующие зарегистрированные маршруты в файле MembersAreaRegistration:
context.MapRoute(
"Members_Profile",
"Members/Profile/{id}",
new { controller = "Profile", action = "Index", id = UrlParameter.Optional },
new string[] { "MyProject.Web.Mvc.Areas.Members.Controllers" }
);
context.MapRoute(
"Members_default",
"Members/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "MyProject.Web.Mvc.Areas.Members.Controllers" }
);
Я хочу иметь возможность сопоставлять следующие URL-адреса:
~/Members (should map ~/Members/Home/Index )
~/Members/Profile/3 (should map ~/Members/Profile/Index/3)
С этимНа маршрутах регистрации все работает отлично.Однако я добавил следующий URL:
~/Members/Profile/Add
и получил ошибку:
"Словарь параметров содержит пустую запись для параметра 'id' ненулевого типа«System.Int32» для метода «System.Web.Mvc.ActionResult Index (Int32)» в «MyProject.Web.Mvc.Areas.Members.Controllers.ProfileController». Необязательным параметром должен быть ссылочный тип, обнуляемый тип,или быть объявлен необязательным параметром. "
Я также хочу, чтобы URL-адрес
~/Members/Profile/Edit/3
Что я должен изменить, чтобы все эти URL-адреса работали правильно?