我的cshtml视图中有一个下拉列表。但是有些字符串太长而无法在一行中显示。如下图所示:
我需要设置它,以便在下拉列表中只显示一定数量的字符,当鼠标悬停在整个字符串上时,应该是场景,类似于工具提示文本。
<div class="span11">
@Html.DropDownList("specificationList", new SelectList(ViewBag.Specifications, "SpecificationId", "Name", ViewBag.SpecificationId), new { @class = "dropdown-toggle" })
</div>
答案 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:省略号