2015-08-06 2 views
0

Im новый для MVC. Я обманываю, пытаясь понять концепцию. У меня есть следующий код. Это довольно прямолинейно. Когда пользователь нажимает на действие сортировки, он сортирует список и отправляет список в действие «Действие индекса» (существует много других способов достижения этого, например, например, отправка сортировки bool. Как я уже сказал, Im просто обманывает).Перенаправление в действие с параметром - параметр установлен на нуль

Проблема, с которой я сталкиваюсь, заключается в том, что параметр модели в действии индекса всегда равен нулю. При запуске (отладке) кода происходит действие сортировки, а модель m = не имеет значения null (имеет список пользователей). Я также могу следить за тем, чтобы он поступал непосредственно в индекс. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? Помощь будет высоко оценена.

public ActionResult Index(List<user> model) 
     { 
      if (model == null) 
      { 
       model = (from u in UsersList 
          select u).ToList<user>(); 
      } 

      return View(model); 
     } 

public ActionResult Sort() 
     { 
      var model = from f in UsersList 
         orderby f.Name ascending 
         select f; 

      return RedirectToAction("Index", new {m = model}); 

     } 

ответ

1

Что вы делаете здесь проходит модель в качестве параметра

RedirectToAction("Index", new {m = model}); 

, но это не допускается. Вы должны пройти модель непосредственно

RedirectToAction("Index", model); 

Если вы все еще хотите, чтобы передать его в качестве параметра взять взгляд на this post

+0

Ok. Спасибо. Однако это вызывает другой вопрос. Как вы получаете доступ к переданной модели? – user1203996

+0

@ user1203996, я не получил ваш комментарий. В таком случае вы не понимаете, как получить доступ к модели? – AntonS

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