在ASP.NET MVC中的JSON属性中返回呈现的HTML部分

在ASP.NET MVC中的JSON属性中返回呈现的HTML部分,第1张

在ASP.NET MVC中的JSON属性中返回呈现的HTML部分

这是一些将起作用代码,因为我今天需要这样做。原始代码在这里描述。

public static string RenderPartialToString(string controlName, object viewData){    var viewContext = new ViewContext();    var urlHelper = new UrlHelper(viewContext.RequestContext);    var viewDataDictionary = new ViewDataDictionary(viewData);    var viewPage = new ViewPage    {        ViewData = viewDataDictionary,        ViewContext = viewContext,        Url = urlHelper    };    var control = viewPage.LoadControl(controlName);    viewPage.Controls.Add(control);    var sb = new StringBuilder();    using (var sw = new StringWriter(sb))    using (var tw = new HtmlTextWriter(sw))    { viewPage.RenderControl(tw);    }    return sb.ToString();}

然后,您可以使用它来执行RJS样式的json结果

public virtual ActionResult Index(){    var jsonResult = new JsonResult    {        Data = new        { main_content = RenderPartialToString("~/Views/contact/MyPartial.ascx", new SomeObject()), secondary_content = RenderPartialToString("~/Views/contact/MyPartial.ascx", new SomeObject()),        }    };    return Json(jsonResult, JsonRequestBehavior.AllowGet);}

并且局部具有强类型视图模型

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeObject>" %><h1>My Partial</h1>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4916351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存