Вернуть частичное представление Razor с использованием JSON (ASP MVC 3)

В MVC 2 с обычным механизмом просмотра я мог возвращать частичное представление ascx в виде строки через return Json ()

Но с новыми представлениями Razor .cshtml я не могу выяснить, как это сделать. Я продолжаю получать Тип «ASP.CustomerForm_cshtml» не наследуется от «System.Web.UI.UserControl».

Частичное представление наследуется от System.Web.Mvc.WebViewPage и другая ошибка появляется, если я наследую от System.Web.UI.UserControl , как говорится в первой ошибке.

Есть мысли о том, как исправить это с помощью 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();
    }
5
задан Martin 12 September 2010 в 11:28
поделиться