我想根据 asp.net mvc 3 razar 视图中的类属性值隐藏下拉列表
问问题
10290 次
3 回答
4
您可以将 CSS 类应用于下拉列表:
@Html.DropDownListFor(x => x.SelectedItemId, Model.Items, new { @class = "hidden" })
然后定义隐藏的 CSS 类:
.hidden {
display: none;
}
这个隐藏类当然可以根据视图模型的某些属性值动态应用。例如,您可以编写一个自定义 HTML 帮助器,可以像这样使用:
@Html.DropDownListFor(
x => x.SelectedItemId,
Model.Items,
Html.GetHtmlAttributes(Model.IsHidden)
)
其中GetHtmlAttributes
是您可以编写的自定义扩展方法:
public static class HtmlExtensions
{
public static RouteValueDictionary GetHtmlAttributes(bool isHidden)
{
if (!isHidden)
{
return null;
}
return new RouteValueDictionary(new { @class = "hidden" });
}
}
于 2012-05-15T11:05:35.293 回答
4
你想简单地完全排除下拉菜单吗?
@if (!Model.DontShowDropdown)
{
@Html.DropDownListFor(....)
}
或者,你想隐藏它吗?
Html.DropDownListFor(..., new { "style" = Model.DontShowDropDown ? "display:none" : "" };
于 2012-05-15T11:09:40.040 回答
0
你可以使用这个前:
@Html.DropDownList("mydropdown", new SelectList(new[] {
new SelectListItem{ Value = "0",Text="Item1"},
new SelectListItem{ Value = "1",Text="Item2"},
new SelectListItem{ Value = "2",Text="Item3"},
new SelectListItem{ Value = "3",Text="Item4"}
}, "Value", "Text", "2"), new
{
id = "mydropdown",
@class = "myddClass",
style = ""
})
在 css 添加#mydropdown或.myddClass,然后你可以添加display:none; 在外部 css 中或将其添加到内联 css,如style = "display:none;"
于 2012-05-15T11:08:37.247 回答