gpt4 book ai didi

asp.net - 将 css 类添加到 MVCContrib 网格中的行

转载 作者:行者123 更新时间:2023-12-04 05:53:53 26 4
gpt4 key购买 nike

我正在显示数据网格,其中一个属性是到期日期。如果距到期日不到 60 天,我想突出显示该行。

我找到了 this post ,并使用那里的答案使用 RowAttributes功能:

@Html.Grid(Model.PagedList).Columns(column =>{
column.For(m => m.Name);
column.For(m => m.ExpirationDate);
}).Sort(Model.GridSortOptions)
.Attributes(@class => "grid")
.RowAttributes(m => new MvcContrib.Hash(@class =>
(m.Item.ExpirationDate.Value.AddDays(-60) < DateTime.Now)) ? "warning" : "")

但是我收到一个编译错误说:

Cannot implicitly convert type 'MvcContrib.Hash' to 'bool'



我在这里做错了什么?

最佳答案

以下对我来说很好用:

模型:

public class MyViewModel
{
public DateTime? ExpirationDate { get; set; }
}

Controller :
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new[]
{
new MyViewModel { ExpirationDate = DateTime.Now.AddDays(70) },
new MyViewModel { ExpirationDate = DateTime.Now.AddDays(30) },
new MyViewModel { ExpirationDate = DateTime.Now.AddDays(90) },
};
return View(model);
}
}

看法:
@using MvcContrib.UI.Grid
@using MvcContrib
@model IEnumerable<MyViewModel>

@(Html
.Grid(Model)
.Columns(column => {
column.For(m => m.ExpirationDate);
})
.Attributes(@class => "grid")
.RowAttributes(m => new Hash(@class => (m.Item.ExpirationDate.Value.AddDays(-60) < DateTime.Now) ? "warning" : "" ))
)

您还可以为您的模型编写扩展方法:
public static class RowAttributesExtensions
{
public static Hash GetRowAttributes(this MyViewModel model)
{
return new Hash(@class => (model.ExpirationDate.Value.AddDays(-60) < DateTime.Now) ? "warning" : "");
}
}

进而:
@(Html
.Grid(Model)
.Columns(column => {
column.For(m => m.ExpirationDate);
})
.Attributes(@class => "grid")
.RowAttributes(m => m.Item.GetRowAttributes())
)

这使它更具可读性。

关于asp.net - 将 css 类添加到 MVCContrib 网格中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com