2013-12-22 3 views
1

У меня есть мой сайт, www.example.com - >, который по умолчанию отправляется на домашний контроллер и выполняет действие индекса.MVC регистрирует маршруты в .Net

все, что я хочу, это www.example.com/userid ->, чтобы перейти на страницу настроек конкретного пользователя.

, когда я сделал это:

public ActionResult Index(string userid) 
     { 
      ViewBag.name = userid; 
      return View("userSettingsPage"); 
     } 

Я думал, что он получит меня к этой функции, но он дал мне ошибку, если поместить www.example.com/userid.

Пожалуйста, помогите мне !!

+0

Можете ли вы сообщить, какую ошибку вы получили? –

+0

Я получил «Ресурс не найден». – misterraj

+0

все, что я хочу, если я поставлю www.abc.com, он должен перейти на домашнюю страницу. и если я положу www.abc.com/userid, он должен перенаправить мне страницу настроек для этого конкретного пользователя .... – misterraj

ответ

1

Предположив домашней страницы является Главная/Index, вы можете использовать следующий маршрут, чтобы параметр, который следует использовать

 routes.MapRoute(
      "Default", 
      "{controller}/{action}/{userid}", 
      new { controller = "Home", action = "Index", userid= UrlParameter.Optional }); 

Это будет отображаться на вашем public ActionResult Index(string userid) контроллер

0

Определим действие с именем ' userSettingsPage. И в действии Index выполните следующие действия с нужным параметром,

public ActionResult Index(string userid) 
     { 
      ViewBag.name = userid; 
      return RedirectToAction("userSettingsPage") 
     } 


public ActionResult userSettingsPage(string userid) 
     { 
      return View(Your needed parameter if any); 
     } 

Затем вызывается желаемая страница.

Надеюсь, что это поможет, Спасибо.

+0

это не работает !! – misterraj

+0

удалить параметр userid из действия userSettingPage. и в действии просто введите return View(); Посмотрите, открывается ли ваша страница userSettingPage. –

Смежные вопросы