Проводка данных в метод действия MVC2.0 - PullRequest
1 голос
/ 26 августа 2011

У меня есть 2 метода действия внутри контроллера.

public ActionResult SelectOrders()
{
  return View();
}

public ActionResult ProcessOrders(String OrderNos)
{
return View();
}

В представлении SelectOrders пользователь выбирает идентификаторы заказа, и когда он нажимает кнопку Отправить, выбранные номера заказов отображаются в представлении ProcessOrders.В настоящее время я храню выбранные номера счетов в массиве Javascript и передаю строку запроса в представление ProcessOrders (Window.href).Я уверен, что это не лучший способ выполнить эту работу, так как пользователь может выбрать более 100-200 заказов.Какой еще возможный / лучший способ справиться с этой функциональностью.

1 Ответ

0 голосов
/ 26 августа 2011

То, что вы хотите использовать, это модель. это было бы моим решением.

определить сущность для заказа

public class OrderItem{
 public int Id{get;set;}
 public string Name{get;set;}
}

коллекция заказов для публикации в отдельные заказы

public class SelectOrdersModel{
public IEnumerable<OrderItem> Orders{get;set;}
}

Теперь измените ваш контроллер:

public ActionResult SelectOrders(SelectOrdersModel model)
{
 SelectOrdersModel modelToDisplay = (model==null)? new SelectOrdersModel():model;
 //populate model here
 return View(modelToDisplay);
}

и для получения данных:

public ActionResult ProcessOrders(SelectOrdersModel model)
{
// process your model here 

if (! ModelState.IsValid) return RedirectToAction ("SelectOrders", model); // перенаправить или сделать вашу логику здесь }

Перенаправление в форму вы будете делать как:

<% using( Html.BeginForm("ActionName"))
   {
       //your form data here
   }%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...