asp.net-mvc – ASP MVC查看内容为JSON
发布时间:2020-05-23 17:27:20 所属栏目:asp.Net 来源:互联网
导读:我有一个MVC应用程序与相当多的控制器操作,使用Ajax(jQuery)调用并返回部分视图内容更新屏幕的一部分。但我宁愿做的是返回JSON这样的东西。 return Json(new { Result = true, Message = Item has been saved, Content = View(Partial) }); 哪里的HTML只是Js
|
我有一个MVC应用程序与相当多的控制器操作,使用Ajax(jQuery)调用并返回部分视图内容更新屏幕的一部分。但我宁愿做的是返回JSON这样的东西。 return Json(new {
Result = true,Message = "Item has been saved",Content = View("Partial")
});
哪里的HTML只是Json的一个财产。这意味着我需要检索由View方法呈现的HTML。有没有任何简单的方法来做到这一点,我看到的几个例子是相当复杂的。 编辑:这个问题最初是为ASP.NET MVC 1,但是如果版本2使我更容易听到这个答案。 解决方法这是答案!这是从 Martin From’s方法轻微的变化,似乎工作。如果有缺失的东西,人们可以在评论部分提供任何代码更改。谢谢。从你的控制器调用如下: string HTMLOutput = Utils.RenderPartialToString("~/Views/Setting/IndexMain.ascx","",items,this.ControllerContext.RequestContext);
将其添加到类中 public static string RenderPartialToString(string controlName,object viewData,object model,System.Web.Routing.RequestContext viewContext)
{
ViewDataDictionary vd = new ViewDataDictionary(viewData);
ViewPage vp = new ViewPage { ViewData = vd };
vp.ViewData = vd;
vp.ViewData.Model = model;
vp.ViewContext = new ViewContext();
vp.Url = new UrlHelper(viewContext);
Control control = vp.LoadControl(controlName);
vp.Controls.Add(control);
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
vp.RenderControl(tw);
}
return sb.ToString();
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何从asp.net调用Windows服务
- asp.net – 网格视图边界的宽度
- asp.net-mvc – 从ASP.NET MVC2升级到MVC3的原因
- asp.net-web-api2 – 在WebAPI2项目中加载System.IdentityM
- asp.net-mvc-3 – 如何在页面提交ASP.Net MVC时捕获哪个单选
- iis – ServerManager构造函数在测试环境中崩溃
- asp-classic – 从用户检测空/空输入
- asp.net – 如何在客户端上为CustomValidator控件重写Error
- asp.net-web-api – 具有Web Api RC的Ninject InSingletonS
- asp.net-mvc – 使用catchall通配符重定向到控制器(但使用不
推荐文章
站长推荐
热点阅读
