我正在使用 C# 和 SQL Server 2005 开发一个 ASP .Net MVC 3 应用程序。
我也在使用实体框架和代码优先方法。
在一个视图Index
中,我有一个 DropDownList Gamme
。我定义了在我的视图中选择的项目,如下所示:
public string SelectedProfile_Ga { get; set; }
在这个视图中,我有一个按钮Appliquer
将我带到另一个视图Application
。
<input type="button" value="Appliquer" id="appliquer" onclick="window.location = 'ProfileGa/Application'"/>
在视图Application
中,我有一个按钮提交Appliquer
。
<input type="submit" value="Appliquer" id="appl" />
当我单击时Appliquer
,我想将在我的 DropDownList 中选择的值保存Gamme
在我的基础中。
NULL
问题是当我更改视图(退出页面索引并打开应用程序)时传递了这个值。
我在调试中发现了这一点。
控制器动作:
[HttpPost]
public ActionResult app(FlowViewModel model)
{
Famille fam = new Famille();
fam.ID_Gamme = model.SelectedProfile_Ga;
db.Familles.Add(fam);
db.SaveChanges();
return RedirectToAction("Application");
}
编辑:在我看来:
<%: Html.ActionLink("Appliquer", "Application", new { id=Model.SelectedProfile_Ga }) %>
在动作方法(控制器 ProfileGa)中:
[HttpPost]
public ActionResult appl(string id)
{
FlowViewModel model = new FlowViewModel();
Famille fam = new Famille();
Profile_Ga profile_ga = db.Profil_Gas.Find(id);
fam = db.Familles.Find(model.SelectedFamille);
fam.ID_Gamme = model.SelectedProfile_Ga;
}
在查看应用程序中:
<% using (Html.BeginForm("appl", "ProfileGa")) { %>
<input type="submit" value="Appliquer" id="appl" />
<%}%>