Return Razor partial view using JSON (ASP MVC 3)

前端 未结 2 1741
清酒与你
清酒与你 2021-01-01 03:29

In MVC 2 with the regular view engine i could return a ascx partial view as string through return Json()

But with the new Razor .cshtml views I can not

2条回答
  •  借酒劲吻你
    2021-01-01 03:41

    This is the MVC 3 Beta version of the code:

        private string ControlToString(string controlPath, object model)
        {
            //CshtmlView control = new CshtmlView(controlPath);
            RazorView control = new RazorView(this.ControllerContext, controlPath, null, false, null);
    
            this.ViewData.Model = model;
    
            HtmlTextWriter writer = new HtmlTextWriter(new System.IO.StringWriter());
            control.Render(new ViewContext(this.ControllerContext, control, this.ViewData, this.TempData, writer), writer);
    
            string value = ((StringWriter)writer.InnerWriter).ToString();
    
            return value;
        }
    

提交回复
热议问题