asp.net-mvc – 在ASP.NET MVC中的JSON属性中返回呈现的HTML部分
发布时间:2020-12-16 00:04:20 所属栏目:asp.Net 来源:网络整理
导读:我很高兴从ASP.NET中的控制器返回JsonResult对象或部分ASP.NET视图. 我想将呈现的局部视图作为JSON对象中的属性返回.例如 请求 /post/detail/1 会回来的 {"PostId": 1,"Html": "psome markup rendered from a partial to inject/p" } 当我在JavaScript中处理
我很高兴从ASP.NET中的控制器返回JsonResult对象或部分ASP.NET视图.
我想将呈现的局部视图作为JSON对象中的属性返回.例如 请求 /post/detail/1 会回来的 {"PostId": 1,"Html": "<p>some markup rendered from a partial to inject</p>" } 当我在JavaScript中处理响应时,这将允许我知道PostId.有关最佳方法的任何提示吗? 解决方法
以下是一些可行的代码,因为我今天需要这样做.
The original code is described here.
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",} }; return Json(jsonResult,JsonRequestBehavior.AllowGet); } 而partial有一个强类型的视图模型 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeObject>" %> <h1>My Partial</h1> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp-classic – 检索ADO Recordset字段名称(经典ASP)
- 使用ApplicationHost.CreateApplicationHost()创建Asp.Net帖
- asp.net – 在部分视图中强制使用没有Html.BeginForm / Aja
- asp.net – 选择下拉列表项目findbytext没有区分大小写vb.n
- asp-classic – 用于新的Web应用程序的经典ASP与PHP
- asp.net-mvc – ASP.NET MVC DropDown编辑器模板
- asp.net-mvc – 调用SaveChanges()时从更新中排除属性
- asp.net signalR 专题—— 第二篇 对PersistentConnection持
- asp.net-mvc – 从扩展Apicontroller的MVC控制器返回Json
- asp.net-mvc – 如何让Controller Action采用动态参数?
推荐文章
站长推荐
- asp.net-mvc – 使用自定义[required]属性时使用
- asp.net-mvc – 如何在asp.Net MVC Razor中单击C
- 确定ASP.Net是否正确注册
- asp.net – 常量SQL Server 80%CPU利用率
- asp.net-mvc – 使用Ninject时如何处理DBContext
- 调试w /附加到进程启动ASP.NET开发服务器
- asp.net-mvc-4 – 如何通过MVC4 upshot上传相关实
- asp.net – 在ValidationSummary上动态显示boots
- asp.net-mvc – 传递给Html.ActionLink时在模型上
- asp.net-mvc – 我应该每个请求使用一个HttpClie
热点阅读