0

我有一个使用强类型模型的部分视图。是否可以在 html 帮助器方法中将我的模型动态映射到我的部分视图并返回呈现的 html?

这是我想知道是否可能的伪代码。

    public static MvcHtmlString ContentRating(this HtmlHelper html, ContentKey contentKey)
    {
        ContentRatingModel contentRatingModel = new ContentRatingHelper().GetContentRatingModel(contentKey);

        // map my partial view which is named "ContentRating.cshtml" to contentRatingModel    

        return new MvcHtmlString(string.Format("the html output of mapping");
    }

并在我的视图中使用此辅助方法,如下所示:

@Html.ContentRating(ContentKey.Test)
4

1 回答 1

2

将局部视图映射到模型的确切含义尚不清楚,但如果您想在助手中呈现此局部视图的内容,您可以执行以下操作:

public static MvcHtmlString ContentRating(this HtmlHelper html, ContentKey contentKey)
{
    ContentRatingModel contentRatingModel = new ContentRatingHelper().GetContentRatingModel(contentKey);

    var result = html.Partial("ContentRating", contentRatingModel);

    return new MvcHtmlString(result.ToHtmlString());
}

不要忘记将System.Web.Mvc.Html命名空间纳入范围,以便可以在您的自定义帮助程序中解析 Partial 扩展方法:

using System.Web.Mvc.Html;
于 2013-02-22T13:19:52.843 回答