值传递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是我的控制器名

值传递NULL从一个视图到另一个在ASP MVC 3

对于初学者来说,您的下拉菜单位于Index视图中,并且选择正在那里发生。然后您将重定向到ProfileGa/Application并将此信息留在后面。

我要改变这个按钮:

<input type="button" value="Appliquer" .. etc

<submit>,并将代码用下面的下拉框包装起来:

using (Html.BeginForm("Application", "ProfileGa")) {

并添加ApplicationPost版本

[HttpPost]
public ActionResult Application(FlowViewModel model)
{
    // Do whatever
    return View(model);
}

然后,当您到达Application视图时,它应该仍然具有与离开Index时相同的信息。

要检查它是否工作,在return View(model);处放置一个断点,并查看模型的内容。

然而,从视图发布null 可能意味着您的<% using (Html.BeginForm("app", "ProfileGa")) { %>语句中有问题,所以如果上面没有做任何事情,则从您的"应用程序"视图发布代码。