如何在列表ASP MVC中设置默认类别

时间:2017-01-14 16:11:52

标签: asp.net asp.net-mvc

我只是想知道如何在我的项目中设置一个deafault类别。

这是控制器:

public ActionResult Create()
    {
        var ii = User.Identity.GetUserId();

        ViewBag.User_ID = ii;
        ViewBag.Category_id = new SelectList(db.Categories, "Category_id", "Category_name");
        return View();
    }

查看:

<div class="form-group">
                    <h4>@Html.LabelFor(model => model.Category_id, htmlAttributes: new { @class = "control-label col-md-3" })</h4>
                    <div class="col-md-6">
                        @Html.DropDownList("Category_id", null, htmlAttributes: new { @class = "form-control" })
                        @Html.ValidationMessageFor(model => model.Category_id, "", new { @class = "text-danger" })
                    </div>
                </div>

如何在列表中将特定类别ID或名称设为默认类别。感谢

1 个答案:

答案 0 :(得分:0)

您的视图类似于对具有Category_id属性的视图模型进行强类型化。您可以做的是,在GET操作中创建视图模型的对象,将Category_id属性的值设置为您想要的CategoryId,并在视图中使用DropDownListFor帮助器

所以在你的GET行动中,

ViewBag.Categories = new SelectList(db.Categories, "Category_id", "Category_name");    
var vm = new YourViewModel();
vm.CategoryId=3;         
return View(vm);

现在在您的视图中,该视图是对您的视图模型强类型的

@model YourViewModel 
@Html.DropDownListFor(x=>x.Category_id, ViewBag.Categories as SelectList,
                                                         new { @class = "form-control" })