MVC核心-将静态方法的值获取到View中



我编辑了我的问题以使其更清楚:

我有一个带有广告列表页面的网站,其中多个广告按类别列出。目前,与其他信息一起,页面显示了广告提交到网站的确切日期。

现在,我还想显示广告在网站上的小时数、天数或周数。

示例:

Ad was posted 2 days ago 
Ad was posted 1 week ago etc

类似于您在StackOverflow上发布的每条评论末尾看到的内容,即:

– Stephen Muecke 5 hours ago
– Jilani pasha 4 hours ago
- Stephen Muecke 36 mins ago

我已经写了一个方法,它采用广告发布日期时间并返回小时、天或周。

我想知道的是,在我看来,如何调用该方法并将值(广告发布日期)传递给该方法?或者实现这一目标的最佳方式是什么?

您可以使用静态HtmlHelper函数:

public static class HtmlHelperExtensions
{
public static MvcHtmlString GetAddedDate<TModel, TValue>(this HtmlHelper<TModel> html, DateTime creationDate)
{
var str = YourFunction(creationDate);
return new MvcHtmlString(str);
}
}

视图中调用者:@Html.GetAddedDate(Model.CreationDate)

或者你可以在你的ViewModel/Model中添加一个方法,比如:

public class MyAd {
public int Id;
public DateTime CreationDate;
public string GetCreationDate() {
return YourFunction(CreationDate);
}
}

在视图中调用者:

@foreach(var model in Model) {
<text>@model.GetCreationDate();</text>
}

最新更新