C#Asp.net - 在多种操作方法中使用相同的信息

时间:2016-05-03 11:06:34

标签: c# asp.net asp.net-mvc session-variables

我很困惑,想知道在same information方法中使用multiple action的最佳做法。我想在多个action方法中使用五个值。我有model类有五个值。

目前,我正在将数据存储到会话中,并在我需要的每个action方法中获取该数据。

[HttpPost]
public ActionResult Index(Model model){
    Session["A"]=mode.a;
    Session["B"]=mode.b;
    Session["C"]=mode.c;
    Session["D"]=mode.d;
    Session["D"]=mode.d;
}

[HttpGet]
public ActionResult Action1(){
    Label1.Text=Session["A"];
    Label2.Text=Session["B"];
    Label3.Text=Session["C"];
    Label4.Text=Session["D"];
    Label5.Text=Session["E"];
}

[HttpGet]
public ActionResult Action2(){
    Label1.Text=Session["A"];
    Label2.Text=Session["B"];
    Label3.Text=Session["C"];
    Label4.Text=Session["D"];
    Label5.Text=Session["E"];
}

所以我的问题就是我可以在每个动作方法中传递object模型类吗?或者,在每个object of the model方法中使用action类或使用session更好的方法还有其他最佳做法吗?

我的所有action方法views使用相同的`模型类。

1 个答案:

答案 0 :(得分:2)

您可以将模型本身存储在Session中,而不是存储该对象的每个属性,使存储更容易。

Session["myModel"]=model;

Label1.Text=((Model)Session["myModel"]).a;

如果没有Session之外的信息持久性,就没有其他方法可以在多个不同的GET上访问该对象