Retornar visualização parcial do Razor usando JSON (ASP MVC 3)
No MVC 2 com o mecanismo de exibição regular, eu poderia retornar uma exibição parcial ascx como string atravésreturn Json()
Mas com as novas visualizações .cshtml do Razor, não consigo descobrir como fazer isso. Eu continuo recebendoType 'ASP.CustomerForm_cshtml' does not inherit from 'System.Web.UI.UserControl'.
A vista parcial herda deSystem.Web.Mvc.WebViewPage<T>
e outro erro aparece se eu herdar deSystem.Web.UI.UserControl<T>
como o primeiro erro diz.
Alguma idéia de como consertar isso usando o ASP MVC 3 e o mecanismo de exibição Razor?
Esta é minha função ControlToString:
private string ControlToString(string controlPath, object model)
{
ViewPage page = new ViewPage();
ViewUserControl ctl = (ViewUserControl)page.LoadControl(controlPath);
page.Controls.Add(ctl);
page.ViewData.Model = model;
page.ViewContext = new ViewContext();
System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.HttpContext.Current.Server.Execute(page, writer, false);
string outputToReturn = writer.ToString();
writer.Close();
//return this.Json(outputToReturn.Trim());
return outputToReturn.Trim();
}