Gis*_*ota 2 c# model-view-controller controller view asp.net-mvc-4
我有一个使用数据脚手架生成的视图。该视图有一个文本字段:
创建视图:
<div class="form-group">
@Html.LabelFor(model => model.GroupId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.GroupId, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.GroupId, "", new { @class = "text-danger" })
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想将一个值从控制器传递到此文本字段。我做了以下,这似乎不起作用。
控制器:
public ActionResult Create(int id)
{
ViewBag.GroupId = id;
Debug.WriteLine("DEBUG: "+id);
return View();
}
Run Code Online (Sandbox Code Playgroud)
您可以按照当前的方式使用ViewBagto store来完成此操作GroupId,但由于您的视图正在使用模型,因此最好采用这种方式。
所以你会:
模型:
public class GroupModel
{
public int GroupId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult Create(int id)
{
var model = new GroupModel();
model.GroupId = id
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
在视图的顶部,您将引用您的模型:
@model GroupModel
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用代码访问视图中的模型,就像model.GroupId脚手架所做的那样。