数据库
首页 > 数据库> > c# – DropDownListFor如何从数据库设置默认值

c# – DropDownListFor如何从数据库设置默认值

作者:互联网

所以,我在我的视图中看到了一个DropdownListfor:

@Html.DropDownListFor(m => m.ProductCategory, new SelectList(Model.ProductCategories.OrderBy(m => m.PCNumber), "", "Name"), "")

这应该是应该的.在我的下一个视图中,用户应该能够编辑他的订单.所以我想要做的是,如果他打开表单,应该显示之前的所有数据,对于文本框,我使用以下代码:

 @Html.TextBoxFor(m => m.NameOfProduct, new { @Value = @Model.NameofProduct })

所以现在我的问题是,当我的模型(数据库)中存储了一个DropDownListFor时,我怎么能对我的文本框(从我的模型中给出它们的默认值)做同样的事情?它应该是这样的,如果他之前选择了类别3并且现在想要从之前编辑他的订单,则下拉列表应该立即显示类别3.

感谢您的任何帮助!

解决方法:

尝试此代码可能适用于您的情况.

@Html.DropDownListFor(m=> m.PCNumber, new SelectList(m.ProductCategories, "PCNumber", "ProductCategory"), "-- Select Category --", new { @class = "form-control" })

在这里,您将在下拉列表中获得默认编辑顺序

   [HttpGet]
        public ActionResult EditOrder(int? id)
        {
            _obj_order_detail = db.order_detail.Find(id);
            if (_obj_order_detail != null)
            {
                _obj_order_detail.ProductCategories = db.category_detail.ToList(); //get category List
                return View(_obj_order_detail);
            }
            else
            {
                return view();
            }

        }

这将返回包含您要编辑的订单的视图,而ProductCategories和dropdown bu默认包含您要编辑的ProductCategory

标签:c,asp-net,asp-net-mvc,html,html-dropdownlistfor
来源: https://codeday.me/bug/20190627/1309664.html