1

我正在使用自定义下拉列表并动态绑定元素,但在这里我想在下拉列表的每个项目上显示一个工具提示消息。

查看代码:

  @Html.DropDownListFor(m => m.Industry,Model.IndustryList, "All", new { @style = "width:258px;", @class = "drpDown" }) 

控制器代码:

IEnumerable<SelectListItem> IndustryList= EntityModel<T>.Where(m => m.t == “something”).ToList().Select(c => new SelectListItem { Text = t.Name, Value = t.Value);

所以让我知道有没有办法在选择标签中的每个选项上设置标题。

4

2 回答 2

2

不,标准Html.DropDownListFor助手不支持在<option>标签上设置任何属性,除了标准的(valueselected)。您可以编写一个自定义助手来实现这一点。this example您也可以检查this one

于 2013-02-21T15:28:34.637 回答
1

我也可能会选择 Darin 的答案,您需要一个自定义下拉列表。

一个快速(和肮脏)的替代方法可能是手动循环并创建您的选择列表并在选项上设置标题值。

在您的控制器上,可能会填充这样的视图模型(我只是使用匿名对象作为示例):

var SelectListViewModel = new[] {
            new {
                Text = "One",
                Title = "I'm One Title",
                Value = "1"
            },
            new {
                Text = "Two",
                Title = "I'm Two Title",
                Value = "2"
            }

        };

在您看来:

<select>
    @foreach (var item in SelectListViewModel)
    {
        <option title="@item.Title" value="@item.Value">@item.Text</option>
    }
</select>

不是最干净的,但希望可能对某人有所帮助。

于 2013-02-21T18:05:07.310 回答