2013-02-22 211 views
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) 

回答

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命名空間以便部分擴展方法可以在您的定製幫助程序中解決:

using System.Web.Mvc.Html; 
+0

非常感謝。那正是我要找的。我會在7分鐘內接受你的回答。 :) – anilca 2013-02-22 13:25:06

相關問題