【发布时间】:2016-09-26 14:45:14
【问题描述】:
我的 cshtml 文件在模型中接收一些 bool 值(+data 以构建 webgrid)。根据 bool 值,必须显示一些 webgrid 列并隐藏一些列,例如我有:
Name,Surname,Job webgrid 中的列,但我有 SurnameBool = 0,这意味着只有 Name 和 Job 列必须显示。我曾尝试使用其他答案中的代码,但不幸的是我是 JavaScript 的新手,所以请你建议我如何根据 @if(ColumnNameBool) 结果将 css display : none 属性添加到 webgrid 中的列。
WebGrid grid = new WebGrid(item2.ListOfWorkData, canSort: false, rowsPerPage: 15);
<div id="divWebGrid" class="row">
@if (item2.ListOfWorkData.Any())
{
@grid.GetHtml(
tableStyle: "table",
headerStyle: "table_HeaderStyle",
footerStyle: "table_PagerStyle",
rowStyle: "table_RowStyle",
alternatingRowStyle: "table_AlternatingRowStyle",
selectedRowStyle: "table_SelectedRowStyle",
columns: grid.Columns(
grid.Column("ProjectName", @Resources.Localization.project, format: @<text>
@if (Model.ColumnsNeeded.ProjectNameBool)
{
<span class="display-mode"><label id="ProjectNameLabel">@item.ProjectName</label></span>
}
</text>,style : "hidden-column"),
grid.Column("Activity", @Resources.Localization.activity, format: @<text>
@if (Model.ColumnsNeeded.ActivityBool)
{
<span class="display-mode"><label id="ActivityLabel">@item.Activity</label></span>
}
</text>, style: "p60"),
grid.Column("ProjectEndDate", @Resources.Localization.start_date, format: @<text>
@if (Model.ColumnsNeeded.ProjectStartDateBool)
{
<span class="display-mode"><label id="ProjectStartDate">@item.ProjectStartDate</label></span>
}
</text>, style: "p60"),
grid.Column("ProjectEndDate", @Resources.Localization.end_date, format: @<text>
@if (Model.ColumnsNeeded.ProjectEndDateBool)
{
<span class="display-mode"><label id="ProjectEndDate">@item.ProjectEndDate</label></span>
}
</text>, style: "p60")
)
)
}
【问题讨论】:
-
你能试试@if(ColumnNameBool){ render column }
-
请添加您的 webgrid 的代码
-
我从来没有遇到过这样的决定,请问我应该如何直接指向列?
标签: javascript c# asp.net asp.net-mvc asp.net-mvc-4