gpt4 book ai didi

asp.net-mvc - MVC - 如何将模型从 View 传递到 Controller

转载 作者:行者123 更新时间:2023-12-04 22:38:12 27 4
gpt4 key购买 nike

我正在使用一个模型,该模型需要流经一系列 Controller ,并在此过程中对其进行操作(仅将其加载到第一个 Controller 上)。有没有办法将模型从 View 中持久化到 Controller 等等?

这是我的代码。

模型:

    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; }
}

}

填充模型并将其发送到 View 后,所有内容都将使用模型显示出来。我认为将模型像这样粘贴在表单标签上:
<% using (Html.BeginForm("Items", "ROW", Model))

这是 ROW Controller 的 post Items Action:
    [ActionName("Items"), AcceptVerbs(HttpVerbs.Post)]
public ActionResult Items(ROWModel model, FormCollection collection)

问题是模型没有返回我最初填充它的 TBLRETURNABLEITEMS 列表。它保留我填充的其他属性,但不保留列表。我如何维护这个模型的数据,而不必在我想要的每个 Controller 上重新加载它。

最佳答案

我认为您可以为此使用 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);
}

关于asp.net-mvc - MVC - 如何将模型从 View 传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1842161/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com