如何在ASP.NET視圖引擎is known上生成給定部分視圖的HTML。ASP.NET MVC Razor:如何在控制器動作中呈現Razor部分視圖的HTML
但是,如果在剃刀局部視圖上使用此功能,則它不起作用,例外情況是部分視圖不會從「UserControl」派生。
如何解決渲染以支持剃刀局部視圖?
我需要這個,因爲我生成電子郵件成爲本部分景色...
更新:失敗(@mcl)
代碼:
public string RenderPartialToString(string controlName, object viewData)
{
ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };
viewPage.Url = this.GetUrlHelper();
string fullControlName = "~/Views/Email/" + controlName + ".ascx";
viewPage.ViewData = new ViewDataDictionary(viewData);
viewPage.Controls.Add(viewPage.LoadControl(fullControlName));
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
viewPage.RenderControl(tw);
}
}
return sb.ToString();
}
你能告訴你有這麼遠,產生異常的代碼? – mlibby 2010-12-03 12:48:00