值传递NULL从一个视图到另一个在ASP MVC 3
本文关键字:另一个 视图 ASP MVC 一个 NULL 值传 | 更新日期: 2023-09-27 18:16:16
我正在使用c#和SQL Server 2005开发一个asp.net MVC 3应用程序。
我也使用实体框架和代码第一方法。
在视图Index
中,我有一个下拉列表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
,我想保存在我的下拉列表中选择的值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");
}
注意:
我没有忘记这个在Application
:
<% using (Html.BeginForm("app", "ProfileGa")) { %>
ProfileGa
是我的控制器名
对于初学者来说,您的下拉菜单位于Index
视图中,并且选择正在那里发生。然后您将重定向到ProfileGa/Application
并将此信息留在后面。
我要改变这个按钮:
<input type="button" value="Appliquer" .. etc
到<submit>
,并将代码用下面的下拉框包装起来:
using (Html.BeginForm("Application", "ProfileGa")) {
并添加Application
的Post
版本
[HttpPost]
public ActionResult Application(FlowViewModel model)
{
// Do whatever
return View(model);
}
然后,当您到达Application
视图时,它应该仍然具有与离开Index
时相同的信息。
要检查它是否工作,在return View(model);
处放置一个断点,并查看模型的内容。
然而,从视图发布null
可能意味着您的<% using (Html.BeginForm("app", "ProfileGa")) { %>
语句中有问题,所以如果上面没有做任何事情,则从您的"应用程序"视图发布代码。