在每个下拉列表项上显示工具提示(或标题)消息

时间:2013-02-21 15:23:01

标签: asp.net-mvc asp.net-mvc-4 tooltip

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

查看代码:

  @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);

因此,请告诉我有没有办法在select tag中的每个选项上设置标题。

2 个答案:

答案 0 :(得分:2)

不,标准Html.DropDownListFor帮助程序不支持在<option>标记上设置除标准属性(valueselected)之外的任何属性。您可以编写自定义帮助程序来实现此目的。您可以查看this example以及this one

答案 1 :(得分: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>

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

相关问题