2013-03-22 39 views
0

我想獲得由PartialView呈現的HTML代碼。例如部分視圖到字符串

var partView = PartialView("myView", myModel); 
string content =??; 

我應該放什麼而不是問號?

+0

只是想知道,爲什麼呢? – lahsrah 2013-03-22 09:42:19

+1

看一看這裏,http://stackoverflow.com/questions/483091/render-a-view-as-a-string – 2013-03-22 09:57:37

回答

1
public static string RenderPartialToString(string controlName, object viewData) 
    { 
     ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() }; 

     viewPage.ViewData = new ViewDataDictionary(viewData); 
     viewPage.Controls.Add(viewPage.LoadControl(controlName)); 

     StringBuilder sb = new StringBuilder(); 
     using (StringWriter sw = new StringWriter(sb)) 
     { 
      using (HtmlTextWriter tw = new HtmlTextWriter(sw)) 
      { 
       viewPage.RenderControl(tw); 
      } 
     } 

     return sb.ToString(); 
    } 
string content = RenderPartialToString("myView", myModel); 
+1

這隻適用於剃鬚刀 – 2013-03-22 09:28:36