-5

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

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

我有这个表格: 在此处输入图像描述

当我单击“注册者”按钮时,我想保存在列表(或集合)中输入的值。

这是视图的代码:

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

视图模型:

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

1

通常,当您有一个可以选择的类似事物的列表(即多选列表框)时,您会使用集合。MVC中的M是数据模型。没有它真的行不通。

您应该创建一个包含所需字段的类,然后将该类传递给您的视图,例如:

public class UserGammeModel {
  public string PosteItems
  public string NobreDePassage { get; set; }
  public string Position { get; set; }
  public Gamme PostePrecedent { get; set; }
  public Gamme PosteSuivant { get; set; }
}

使用对模型类属性有意义的任何对象类型——类型越强越好!

然后将您的模型传递给控制器​​ GET 操作方法中的视图:

public ActionResult Save() {
  return View(new UserGammeModel());
}

最后,在控制器 POST 操作方法中处理发布的值:

[HttpPost]
public ActionResult Save(UserGammeModel model) {
  // Do stuff with posted model values here
}
于 2013-05-17T22:46:45.343 回答