我正在使用 C# 和 SQL Server 2005 开发一个 ASP .Net MVC 3 应用程序。
我也在使用实体框架和代码优先方法。
我在部分视图中有一个表单,代码是:
<%@ Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MvcApplication2.Models.FlowViewModel>" %>
<% using (Html.BeginForm("Save", "ProfileGa")) { %>
<%: Html.ValidationSummary(true) %>
<fieldset class="parametrage">
<legend>Gestion de Gamme</legend>
<div>
<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems)%>
</div>
<div>
<%:Html.Label("Nombre de Passage :")%><%: Html.EditorFor(model=>model.Nbr_Passage)%>
</div>
<div class="editor-field">
<%: Html.ValidationMessageFor(model => model.Nbr_Passage)%>
</div>
<div>
<%:Html.Label("Position :")%><%: Html.EditorFor(model=>model.Position)%>
</div>
<div>
<%:Html.Label("Poste Suivant :")%><%: Html.DropDownListFor(model => model.PosteSuivantSelected, Model.PostesItems, new { @id = "dd" })%>
</div>
<div>
<input type="submit" value="Enregistrer" id="btnSave" />
</div>
</fieldset>
这就是它的外观: 我想保存输入到列表中的值。所以我在我的视图模型中创建了一个列表,如下所示:
public List<Gamme> ListG = new List<Gamme>();
然后在我的控制器“ProfileGaController”中,我定义了一个方法 save 以保存在列表中:
[HttpPost]
public ActionResult Save(FlowViewModel model)
{
if (ModelState.IsValid)
{
Gamme G = new Gamme();
G.ID_Gamme = model.SelectedProfile_Ga;
G.ID_Poste = model.SelectedPoste;
G.Next_Posts = model.PosteSuivantSelected;
G.Nbr_Passage = int.Parse(model.Nbr_Passage);
G.Position = int.Parse(model.Position);
model.ListG.Add(G);
}
return RedirectToAction("Index");
}
问题 :
每次我在列表中保存时,th 值都会被删除并替换为新值。
总是,我有 count=1 的列表: