将模型从Controller传递给View MVC 5

时间:2018-02-07 16:17:21

标签: c# asp.net-mvc razor

我是MVC新手并使用Entity创建了一个视图。我一直在寻找如何将模型从控制器传递到视图的最后一天。我看到,当他们将模型发送回视图时,他们会使用return view(model);进行操作,但每次我尝试返回模型时,所有文本框都是空的,没有任何反应。我试图填写40个文本框,这是我尝试使用模型的原因,如果有更好的方法来做到这一点。

HTML:

@model SiCom.Data.TransComm 
@{ ViewBag.Title = "ManualAdvancements"; }

<h2>ManualAdvancements</h2>

@using (Html.BeginForm()) { @Html.AntiForgeryToken()
  <div class="form-group">
    @Html.LabelFor(model => model.Master_Company, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
      @Html.EditorFor(model => model.Master_Company, new { htmlAttributes = new { @class = "form-control" } })
      @Html.ValidationMessageFor(model => model.Master_Company, "", new { @class = "text-danger" })
    </div>
  </div>
}

控制器:

[HttpPost]
public ActionResult ManualAdvancements(TransComm model, string submit, FormCollection form)
{
    string Paramater = form["Paramater"].ToString();
    int Parameter2= int.Parse(form["Parameter2"].ToString());
    string Paramater3= form["Paramater3"].ToString();
    model = Data.SiComData.GetSingleTransCom(Paramater, Parameter2, Paramater3);
    return View(model);
}

毕竟,视图仍然是空的。 任何帮助都将被取消。

2 个答案:

答案 0 :(得分:1)

在将模型返回到视图之前,您应该尝试使用ModelState.Clear()

答案 1 :(得分:-2)

我的代码片段中看不到任何错误。 我唯一想说的是 -

  1. 确保此行中控制器文件(以及方法中)中的模型不是NULL
  2. model = Data.SiComData.GetSingleTransCom(Paramater,Parameter2,Paramater3); return View(model);

    1. 其他的东西是在View拳头线上应该有的 @model Fully.Qualified.Namespace.ModelName
    2. 希望它可以帮助你......