我使用
下拉@Html.DropDownListFor(model => model.param, new SelectList
(Model.MyList, "Value", "Text"), "Select")
这将列表的第一项设置为“选择”。我有两个问题: 我可以为此下拉列表分配一个类以及所选的值吗?我试过了
@Html.DropDownListFor(model => model.param, new SelectList
(Model.MyList, "Value", "Text"), new{@class="clname", @value="Select")
但它不起作用
另外,我可以将值设置为默认文本select
,使其值不是空字符串吗?
答案 0 :(得分:1)
我在控制器中加载选择列表。因此它作为viewmodel的一部分进入页面。
以下内容将使用css类clname
加载下拉菜单,第一个选项为"-- Select --"
@Html.DropDownListFor(model => model.param,
Model.MySelectList,
"-- Select --",
new { @class = "clname"})
另外,我可以将值设置为默认文本选择以使其值 不会是一个空字符串?
为此,您应该使用适当的值加载控制器中的选择列表。
视图模型:
public class HomeViewModel
{
public string MyParam {get;set;}
public List<SelectListItem> MySelectList {get;set;}
}
控制器:
public class HomeController
{
public ActionResult Index()
{
var model = new HomeViewModel();
// to load the list, you could put a function in a repository or just load it in your viewmodel constructor if it remains the same.
model.MySelectList = repository.LoadMyList();
model.MyParam = "Select"; // This will be the selected item in the list.
return View(model);
}
}
查看:
@model MyProject.HomeViewModel
<p>Select:
@Html.DropDownListFor(model => model.MyParam,
Model.MySelectList,
new { @class = "clname"})
</p>
希望能说清楚。