Есть ли «включить один раз»? особенность для бритвы ASP.net?

в php есть include_once, Я хотел бы иметь возможность сделать то же самое с asp.net @Html.Partial, Есть ли встроенная функциональность для этого?

2

Решение

Я думаю, что в ASP.NET такой функциональности нет, но вы можете написать свою собственную:

public static class HtmlPartialHelper
{
public static MvcHtmlString PartialOnce(this HtmlHelper htmlHelper, string partialViewName)
{
if (!htmlHelper.ViewContext.RequestContext.HttpContext.Items.Contains(partialViewName))
{
htmlHelper.ViewContext.RequestContext.HttpContext.Items.Add(partialViewName, ""); //any value is good...
return htmlHelper.Partial(partialViewName);
}

return null; //May be string.Empty is better
}

public static bool RenderPartialOnce(this HtmlHelper htmlHelper, string partialViewName)
{
if (!htmlHelper.ViewContext.RequestContext.HttpContext.Items.Contains(partialViewName))
{
htmlHelper.ViewContext.RequestContext.HttpContext.Items.Add(partialViewName, "");
htmlHelper.RenderPartial(partialViewName);

return false;
}

return true;
}
}

Я не эксперт по PHP, но надеюсь, верные значения верны …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]