Я бы сделал это следующим образом
Определите данные, которые вы хотите передать в htmlhelper
public class HeadMenuViewModel
{
public string SomeProperty {get;set;}
}
Определите представление с именем HeadMenuViewModel.cshtml
в Views/Shared/DisplayTemplates
@model HeadMenuViewModel
<div>
////
</div>
Теперь вы можете отображать свои данные, используя
@Html.DisplayFor(model => model.HeadMenu)
И вы можете написать для него именованное расширение-ярлык
using System.Web.Mvc.Html;
...
public static MvcHtmlString HeadMenu<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
return helper.DisplayFor(expression);
}
Теперь измените свойHeadMenuViewModel.cshtml
каждый раз, когда вам нужно