我有一个使用数据支架生成的视图。该视图具有一个文本字段:
创建视图:
<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>
我想将一个值从控制器传递到此文本字段。我做了以下工作,但似乎不起作用。
控制器:
public ActionResult Create(int id)
{
ViewBag.GroupId = id;
Debug.WriteLine("DEBUG: "+id);
return View();
}
最佳答案
您可以通过使用ViewBag
像现在一样存储GroupId
的方式来执行此操作,但是由于视图使用的是模型,因此最好采用这种方式。
因此,您将拥有:
模型:
public class GroupModel
{
public int GroupId { get; set; }
}
控制器:
public ActionResult Create(int id)
{
var model = new GroupModel();
model.GroupId = id
return View(model);
}
然后,在视图顶部,您将引用模型:
@model GroupModel
然后,您可以按照脚手架完成的操作,使用
model.GroupId
这样的代码在视图中访问模型。关于c# - 在MVC中将值从Controller传递到View,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32847940/