Bil*_*gan 4 model-view-controller asp.net-mvc
我正在使用一个模型,需要流经一系列控制器和视图,一路上操作它(只在第一个控制器上加载它).有没有办法将模型从视图中持久保存到控制器等等?
这是我的代码.
模型:
public class ROWModel
{
#region Properties
//Request
public List<TBLRETURNABLEITEMS> TBLRETURNABLEITEMS { get; set; }
//public List<ReturnReasons> ReturnReasons { get; set; }
public int Order_No { get; set; }
public string First_Name {get; set; }
public string Last_Name {get; set; }
public string Company { get; set; }
public string Address_1 { get; set; }
public string Address_2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Postal_Code { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string CustomerCode {get; set; }
public string TerritoryCode {get; set; }
//Post
#endregion
#region Constructor
public ROWModel()
{ }
#endregion
}
public class ReturnableItems : IComparable<ReturnableItems>
{
private int _id;
private decimal _ordered;
private decimal _shipped;
public int Id
{
get { return _id; }
set { _id = value; }
}
public decimal Ordered
{
get { return _ordered; }
set { _ordered = value; }
}
public decimal Shipped
{
get { return _shipped; }
set { _shipped = value; }
}
Run Code Online (Sandbox Code Playgroud)
}
填充模型并将其发送到视图后,将使用模型显示所有内容.我认为在表单标签上坚持这样的模型:
<% using (Html.BeginForm("Items", "ROW", Model))
Run Code Online (Sandbox Code Playgroud)
这是ROW控制器的post Items Action:
[ActionName("Items"), AcceptVerbs(HttpVerbs.Post)]
public ActionResult Items(ROWModel model, FormCollection collection)
Run Code Online (Sandbox Code Playgroud)
问题是Model没有返回我最初填充它的TBLRETURNABLEITEMS列表.它保留了我填充的其他属性,但不保留列表.如何维护此模型的数据,而不必在每个控制器上重新加载它.
我认为你可以使用TempData.
所以像这样:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult TestA()
{
MyModel model = new MyModel();
model.Something = "Test";
return View(model);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TestA(MyModel model)
{
TempData["MyModel"] = model;
return RedirectToAction("TestB");
}
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult TestB()
{
MyModel myModel = (MyModel)TempData["MyModel"];
return View(myModel);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23124 次 |
| 最近记录: |