0
我有这样的功能:asp.net的MVC 2的呈现视图字符串,而不是局部
public static string RenderViewToString(string controlName, object viewData) {
ViewDataDictionary vd = new ViewDataDictionary(viewData);
ViewPage vp = new ViewPage { ViewData = vd };
Control control = vp.LoadControl(controlName);
vp.Controls.Add(control);
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
vp.RenderControl(tw);
}
}
return sb.ToString();
}
我这样称呼它:
string body = StringHelpers.RenderViewToString("~/Areas/Public/Views/Shared/RegistrationEmail.ascx", new RegistrationEmailViewModel { User = user });
,并返回与用户信息的HTML表。
但我想知道是否有办法编辑这个我可以返回视图为字符串?所以我可以添加masterpage,所以设计所有潜在的邮件会更容易?
在此先感谢 /M
是否有一些简单的方法来修改我的代码,而不是添加mvccontrib? something.renderview? – 2010-07-01 13:56:38