Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jeremysimmons
Last active June 7, 2017 19:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremysimmons/16548c6ee49f621c734eddda6dfe433d to your computer and use it in GitHub Desktop.
Save jeremysimmons/16548c6ee49f621c734eddda6dfe433d to your computer and use it in GitHub Desktop.
Html.Partial for asp.net core mvc
public static class HtmlHelperPartialExtensions
{
public static IHtmlContent PartialWithPrefix(this IHtmlHelper htmlHelper, string partialViewName, object model, string prefix)
{
var htmlFieldPrefix = (string.Empty.Equals(prefix) ? "." : "") + prefix;
return htmlHelper.Partial(partialViewName, model, new ViewDataDictionary(htmlHelper.ViewData) { TemplateInfo = { HtmlFieldPrefix = htmlFieldPrefix } });
}
public static Task<IHtmlContent> PartialWithPrefixAsync(this IHtmlHelper htmlHelper, string partialViewName, object model, string prefix)
{
var htmlFieldPrefix = (string.Empty.Equals(prefix) ? "." : "") + prefix;
return htmlHelper.PartialAsync(partialViewName, model, new ViewDataDictionary(htmlHelper.ViewData) {TemplateInfo = {HtmlFieldPrefix = htmlFieldPrefix}});
}
public static IHtmlContent PartialWithPrefixFor<TModel, TProperty>(this IHtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression, string partialViewName)
{
string prefix = ExpressionHelper.GetExpressionText(expression);
object model = ExpressionMetadataProvider.FromLambdaExpression(expression, helper.ViewData, helper.MetadataProvider).Model;
return PartialWithPrefix(helper, partialViewName, model, prefix);
}
public static Task<IHtmlContent> PartialWithPrefixForAsync<TModel, TProperty>(this IHtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression, string partialViewName)
{
string prefix = ExpressionHelper.GetExpressionText(expression);
object model = ExpressionMetadataProvider.FromLambdaExpression(expression, helper.ViewData, helper.MetadataProvider).Model;
return PartialWithPrefixAsync(helper, partialViewName, model, prefix);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment