【发布时间】:2011-12-07 00:06:27
【问题描述】:
所以我试图在下拉列表中对标签进行样式化。我的 MVC 助手是这样设置的,但真实的东西是从数据库中提取的,所以数据不是硬编码的。
@{
List<string> ListOfText = new List<string> { "FirstThing","SecondThing","ThirdThing"};
List<string> ListOfValue = new List<string> { "1","2","3"};
List<SelectListItems> ListOFSELCETLISTITEMS = new List<SelectListItem>();
for (int x = 0; x < 3; x++)
{
ListOFSELCETLISTITEMS .Add(new SelectListItem
{
Text = ListOfText[x],
Value = ListOfValue[x],
Selected = (selectedValue == ListOfValue[x])
});
}
}
@Html.DropDown("NAME",ListOFSELCETLISTITEMS)
这给了我类似的东西
<select id="Name" name="Name">
<option value="1">FirstThing</option>
<option value="2">SecondThing</option>
<option value="3">ThirdThing</option>
</select>
我需要的是这样的东西
<select id="Name" name="Name">
<option value="1" class="option1">FirstThing</option>
<option value="2" class="option2">SecondThing</option>
<option value="3" class="option3">ThirdThing</option>
</select>
我试过做类似的事情
@{
List<string> ListOfText = new List<string> { "FirstThing","SecondThing","ThirdThing"};
List<string> ListOfValue = new List<string> { "1","2","3"};
}
<select id="Name" name="Name">
@ for (int x = 0; x < 3; x++)
{
<text>
<option value="@ListOfValue[x]" @{if(selectedValue == ListOfValue[x])
{ @Html.Raw("selected='selected'") }}
@class = '@Html.Raw("option"+x)'>
@ListOfText[x]
</option>
</text>
}
</select>
但这似乎让控制器感到困惑,并且它无法识别上面的下拉列表值映射到
public ActionResult method(string Name)
在控制器上发布或获取。好线
@Html.DropDown("NAME",ListOFSELCETLISTITEMS)
在视图中确实允许控制器理解方法应该映射到该下拉列表的值。
我该怎么做?有没有办法解开控制器的困惑并能够在没有 Html.helpers 的情况下手写 HTML?
【问题讨论】:
-
@e-MEE 你能用 Jquery 提交一个答案,告诉我你在说什么吗?
标签: c# .net html asp.net-mvc-3