如何设置Html.DropDownListFor的选定值?我已经在网上看过了,发现可以通过使用第四个参数来实现,如下所示:
@Html.DropDownListFor(m => m, new SelectList(Model, "Code", "Name", 0), "Please select a country")
然后,我的select列表显示如下:
<select id="ShipFromCountries" name="ShipFromCountries">
<option value="">Please select a country</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
...
</select>
但出于某种原因,英国仍然处于选中状态,但我希望选择“请选择一个国家”。
有人知道我如何做到这一点吗?
编辑
我已经更新了我的代码,因为功能上有一些细微的变化,但是似乎仍然会遇到这个问题。这就是我的观点:
@Html.DropDownListFor(n => n.OrderTemplates, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Please select an order template")
1
是我想要选择的option
的Id,我也尝试过option
的文本,但也不起作用。
有什么想法吗?
发布于 2014-12-12 13:19:25
对我来说不是这样的,所以是这样工作的:
控制器:
int selectedId = 1;
ViewBag.ItemsSelect = new SelectList(db.Items, "ItemId", "ItemName",selectedId);
查看:
@Html.DropDownListFor(m => m.ItemId,(SelectList)ViewBag.ItemsSelect)
JQuery:
$("document").ready(function () {
$('#ItemId').val('@Model.ItemId');
});
发布于 2013-10-20 20:48:50
当你像这样传递一个对象时:
new SelectList(Model, "Code", "Name", 0)
您说的是:源(Model
)和键("Code"
)、文本("Name"
)和所选值0
。您可能在Code
属性的源中没有0
值,因此HTML Helper将选择第一个元素来将实际的selectedValue传递给此控件。
发布于 2013-11-16 02:43:44
确保在指定之前已修剪选定的值。
//Model
public class SelectType
{
public string Text { get; set; }
public string Value { get; set; }
}
//Controller
var types = new List<SelectType>();
types.Add(new SelectType() { Value = 0, Text = "Select a Type" });
types.Add(new SelectType() { Value = 1, Text = "Family Trust" });
types.Add(new SelectType() { Value = 2, Text = "Unit Trust"});
ViewBag.PartialTypes = types;
//查看
@Html.DropDownListFor(m => m.PartialType, new SelectList(ViewBag.PartialTypes, "Value", "Text"), new { id = "Type" })
https://stackoverflow.com/questions/19476530
复制相似问题