Asp.net mvc 将数据过帐到操作方法MVC2.0

Asp.net mvc 将数据过帐到操作方法MVC2.0,asp.net-mvc,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 2,我在控制器中有两种动作方法 public ActionResult SelectOrders() { return View(); } public ActionResult ProcessOrders(String OrderNos) { return View(); } 在SelectOrders视图上,用户将选择订单ID,当他单击Submit时,所选订单号将显示在ProcessOrders视图上。目前,我将选定的acc编号存储在Javascript数组中,并通过查询字符串传递到Pr

我在控制器中有两种动作方法

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

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

在SelectOrders视图上,用户将选择订单ID,当他单击Submit时,所选订单号将显示在ProcessOrders视图上。目前,我将选定的acc编号存储在Javascript数组中,并通过查询字符串传递到ProcessOrders视图(Window.href)。我相信这不是做这项工作的最佳方式,因为用户可以选择100-200多个订单。处理此功能的其他可能/最佳方法是什么。

您想要使用的是模型。 这将是我的解决办法

为订单定义实体

public class OrderItem{
 public int Id{get;set;}
 public string Name{get;set;}
}
要发布到选定订单中的订单集合

public class SelectOrdersModel{
public IEnumerable<OrderItem> Orders{get;set;}
}
要获取数据:

public ActionResult ProcessOrders(SelectOrdersModel model)
{
// process your model here 
如果(!ModelState.IsValid)返回RedirectToAction(“SelectOrders”,model); //重定向或在此处执行逻辑 }

在表单中重定向您将执行以下操作:

<% using( Html.BeginForm("ActionName"))
   {
       //your form data here
   }%>


订单是动态的还是始终相同?订单将仅随页面加载一次。谢谢cpoDesign。但这里有两个问题。1) 我的理解是,当您选择订单并提交表单(SelectOrders)时,它将被提交到SelectOrders操作方法,而不是ProcessOrders操作方法。我们可以从第一个行动方法提交到第二个行动方法吗2)我们如何将所选订单存储在视图模型中?这些订单在表格中通过与之关联的复选框呈现。
<% using( Html.BeginForm("ActionName"))
   {
       //your form data here
   }%>