将模型动态映射到视图

本文关键字:视图 映射 动态 模型 | 更新日期: 2023-09-27 18:00:48

我有一个使用强类型模型的局部视图。是否可以在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)

将模型动态映射到视图

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

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;