gpt4 book ai didi

asp.net - 从 HTML.Helper 返回 View

转载 作者:行者123 更新时间:2023-12-01 23:47:41 25 4
gpt4 key购买 nike

我实际上有一个分为两部分的问题。我正在构建一个助手来控制何时向公众呈现某些内容。我有一个客户网站需要内容在特定时间上线。因此,例如,主页上的新主图需要在 12 日凌晨 1 点上线,并需要在 19 日凌晨 1 点停止渲染。我需要能够像这样在我的 View 中使用这个助手:

@Html.DurationControl("Partial/_HeroImage", new DateTime(2015, 02, 12, 01, 00, 00), new DateTime(2015, 02, 19, 01, 00, 00))

是否可以从 HTML.Helper 返回部分 View ?

这种方法是实现我的目标的最佳方式吗?

public static PartialViewResult DurationControl(this HtmlHelper html, string view, DateTime start, DateTime end){
DateTime Now = DateTime.Now;
if (Now > start && Now < end)
{
return PartialView(view);
}
}

注意:多亏了 Berin Loritsch 和 Chris Pratt 的以下回答,我才能让它发挥作用。这是我最终得到的结果:

public static MvcHtmlString DurationControl(this HtmlHelper html, string view, DateTime start, DateTime end)
{
DateTime Now = DateTime.Now;
if (Now > start && Now < end)
{
return html.Partial(view);
}
else
{
return null;
}
}

最佳答案

如果你只是把它放在你的 View 中,这就是你拥有的代码:

@if (DateTime.Now > new DateTime(2015, 02, 12, 01, 00, 00) && DateTime.Now < new DateTime(2015, 02, 19, 01, 00, 00))
{
@Html.Partial("partial/heroimage")
}

诚然,这不是有史以来最漂亮的东西,但也没有那么糟糕。可以说这是完全可以接受的。如果你真的需要抽象出这个相当基本的逻辑,你只需要为你的助手建模,让它像这段代码一样工作:

public static MvcHtmlString DurationControl(this HtmlHelper helper, string partial, DateTime start, DateTime end)
{
if (DateTime.Now > start && DateTime.Now < end)
{
return helper.Partial(partial);
}
return new MvcHtmlString();
}

关于asp.net - 从 HTML.Helper 返回 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28240856/

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