隐藏在DropdownList中的cshtml会溢出,但会在鼠标悬停时显示

时间:2013-02-28 10:35:30

标签: razor drop-down-menu

我的cshtml视图中有一个下拉列表。但是有些字符串太长而无法在一行中显示。如下图所示:

enter image description here

我需要设置它,以便在下拉列表中只显示一定数量的字符,当鼠标悬停在整个字符串上时,应该是场景,类似于工具提示文本。

<div class="span11">
        @Html.DropDownList("specificationList", new SelectList(ViewBag.Specifications, "SpecificationId", "Name", ViewBag.SpecificationId), new { @class = "dropdown-toggle" })
    </div>

2 个答案:

答案 0 :(得分:0)

这里的难点在于DropDownListFor助手不允许在<option>标签上设置自定义属性。要使您的工具提示生效,您需要生成以下标记:

<select name="specificationId">
    <option value="1" title="some very long description">item 1</option>
    <option value="2" title="some very long description 2">item 2</option>
    <option value="3" title="some very long description 3">item 3</option>
    ...
</select>

为了实现这一目标,您可以在视图中编写意大利面条代码以手动循环模型的值(完全不推荐)或编写自定义HTML帮助程序以允许您输出此标记。我在this post上展示了这样一个帮助者的例子。还有here。您当然可以调整帮助程序,以便如果项目的文本长于特定数量的字符,它将生成截断它。

答案 1 :(得分:0)

使用css text-overflow:省略号