【问题标题】:Adding element attribute in view based on razor variable基于razor变量在视图中添加元素属性
【发布时间】:2012-10-25 16:28:16
【问题描述】:

我有一个包含列表的视图,我想根据视图模型中的变量将类添加到特定列表项。

<ul>
    <li>List Item 1</li>
    <li>List Item 2</li>
    <li>List Item 3</li>
</ul>

变量可以是任何东西。目前它是一个整数。以下是我现在拥有的,但我认为这不是最干净的方法。

string[] listClasses = new string[3];
int? selectedListElement= (int?)ViewData["SelectedListElement"];
if(tabNumber.HasValue)
{
    tabClasses[tabNumber.Value] = "selected";
}
<li class="@listClasses[0]">List Item 1</li>
<li class="@listClasses[1]">List Item 2</li>
<li class="@listClasses[2]">List Item 3</li>

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    为什么不将类名放入视图模型并使用条件属性

    Conditional HTML Attributes using Razor MVC3

    【讨论】:

    • 所以你是说向我的视图模型添加 3 个变量并将它们设置为 null 或“选定”,然后在视图中执行
    • List Item 1
    • ?
  • 这就是我最终要做的。谢谢。它删除了视图中的任何逻辑。然后在 viewModel 上我只设置 ViewData["list" + selected + "class"] = "selected" 然后在视图中我将每个列表设置为具有类属性 class="@ViewData["list1class"]" 等。如果 viewdata 为空,则条件属性救救我。谢谢
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签