我在外观中有相同选择列表的多个下拉列表,并希望设置按循环选择的下拉列表。
如何设置在mvc下拉列表中选择的特定一项下拉列表。
请帮忙。
答案 0 :(得分:9)
Html.DropDownList
方法有多个参数,其中一个是List<SelectListItem>
。 SelectListItem
的单个实例是您设置Selected
属性的位置:
var item = new SelectListItem() {
Selected = /* condition */,
Value = "Some Value",
Text = "Some Text"
};
<强>可替换地:强>
创建一个公开SelectList
属性的SelectedValue
集合:
Model.YourSelectList = new SelectList(items /* List<SelectListItem> */,
"Value",
"Text",
37 /* selected value */);
答案 1 :(得分:2)
构建SelectList时,您可以使用http://msdn.microsoft.com/en-us/library/dd460123.aspx
在构造中设置所选项目或者您可以通过它的SelectListItem
属性(http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlistitem.selected.aspx)在单个Selected
上设置它,并使用选择列表的单参数构造函数,或直接将其传递给DropDownList方法
答案 2 :(得分:2)
使用HTML帮助程序ListBoxFor。
@Html.ListBoxFor(m => m.MyPropertyId, Model.MySelectList)
要构建项目列表,可以使用MultiSelectList。例如,在您的控制器中:
public ActionResult Index()
{
// Get a collection of all product id's that should be selected.
int[] productIds = _service.GetSomeProductIds();
// Make a new select list with multiple selected items.
ViewBag.List = new MultiSelectList(
_service.Products,
"Id", // Name of the value field
"Name", // Name of the display text field
productIds ); // list of selected product ids
return View();
}
然后在你看来:
@Html.ListBoxFor(m => m.ProductIds, (IEnumerable<SelectListItem>)ViewBag.List)
答案 3 :(得分:0)
MVC方法将自定义列表绑定到下拉列表并动态选择项目 如果您需要更多详细信息,请在下面发表评论
创建部分
@{
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem { Text = "SALE", Value = "SAL" });
list.Add(new SelectListItem { Text = "PURCHASE", Value = "PUR" });
}
<div class="form-group">
@Html.LabelFor(model => model.SaleOrPurchase, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.SaleOrPurchase, list, "-- Select Status --", new {@class= "form-control" })
@Html.ValidationMessageFor(model => model.SaleOrPurchase, "", new { @class = "text-danger" })
</div>
</div>
编辑部分
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem { Text = "SALE", Value = "SAL" });
list.Add(new SelectListItem { Text = "PURCHASE", Value = "PUR" });
IEnumerable<SelectListItem> myCollection = list.AsEnumerable();
ViewBag.SaleOrPurchase = new SelectList(myCollection, "Value", "Text", transactionTbl.SaleOrPurchase.ToString().Trim());