通常のビューエンジンを使用したMVC 2では、ascx部分ビューを文字列として返すことができましたreturn Json()
しかし、新しい Razor .cshtml ビューでは、これを行う方法がわかりません。私は得続けますType 'ASP.CustomerForm_cshtml' does not inherit from 'System.Web.UI.UserControl'.
最初のエラーが示すように、部分ビューがから継承し、継承するSystem.Web.Mvc.WebViewPage<T>
と別のエラーがポップアップしSystem.Web.UI.UserControl<T>
ます。
ASP MVC 3 と Razor ビュー エンジンを使用してこれを修正する方法について何か考えはありますか?
これは私の 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();
}