0

我正在使用 C# 和 SQL Server 2005 开发一个 ASP .Net MVC 3 应用程序。

我也在使用实体框架和代码优先方法。

我想将在我的视图(在表单中)中选择或输入的值保存在局部变量中。

所以我在我的视图模型中创建了一个列表:

public List<Gamme> ListG = new List<Gamme>();

我现在想从视图中检索值并放入此列表的对象:

public Gamme A = new Gamme (........);

这是输入值的视图:

<% using (Html.BeginForm("Save", "Anouar")) { %>
<%: Html.ValidationSummary(true) %>
<fieldset class="parametrage">
    <legend>Gestion de Gamme</legend>

    <div><%:Html.Label("Poste :")%><%: Html.DropDownList("SelectedPoste", Model.PostesItems)%><input type="checkbox" name="option1" value="Poste Initial" id= "chkMain" onclick="test();"/>Poste Initial<input type="checkbox" name="option2" value="Poste Final" id= "chkFirst" onclick="test2();"/>Poste Final</div>


     <div><%:Html.Label("Nombre de Passage :")%><%: Html.EditorFor(x=>x.YourGammeModel.Nbr_Passage)%></div>
    <div><%:Html.Label("Position :")%><%: Html.EditorFor(x=>x.YourGammeModel.Position)%></div>
    <div><%:Html.Label("Poste Précédent :")%><%: Html.DropDownList("PostePrecedentSelected", Model.PostesItems)%></div>
    <div><%:Html.Label("Poste Suivant :")%><%: Html.DropDownList("PosteSuivantSelected", Model.PostesItems)%></div>


    <div><input type="submit" value="Enregistrer" id="btnSave"  /></div>

    </fieldset>

更新: FlowViewModel:

private static Dictionary<string, Gamme> userGammes;

        public static Dictionary<string, Gamme> UserGammes
        {
            get
            {
                if (userGammes == null)
                {
                    userGammes = new Dictionary<string, Gamme>();
                }
                return userGammes;
            }
        }

和视图的控制器:

public ActionResult Save(Gamme gamme)
         {
             UserGammes.Add("currentUserID", gamme);

         }
4

1 回答 1

2

在您的控制器中,您可以放入静态字典而不是保存在数据库中......并在不再需要时使用“单例”模式将其清除:

private static Dictionary<string, Gamme> userGammes;

public static Dictionary<string, Gamme> UserGammes
{
    get 
    {
       if (userGammes== null)
       {
          userGammes = new Dictionary<string, Gamme>();
       }
       return userGammes;
    }
}

在你的控制器中

public ActionResult Save(Gamme gamme)
{
    UserGammes.Add("currentUserID", gamme);
    // ... do stuff
}
于 2013-05-17T13:49:13.497 回答