mvc html视图,使用asp.net mvc部分视图渲染html

前端渲染

使用前端模版引擎或MVC框架,例如underscore.js的template或者是使用angular.js等框架,当然也可以不用任何框架自己拼接html。

copycode.gifhtml>

underscore.js的template渲染html

copycode.gif

后端渲染

如果是使用的asp.net mvc可以使用部分视图,由ajax直接加载服务器端渲染后的部分视图,这部分的全部代码请访问我的github。

copycode.gifpublic ActionResult News()

{       return View();

}  public ActionResult RenderNews(int pageIndex = 1, int pageSize = 10)

{      return PartialView();

}

copycode.gif

前端直接发ajax请求RenderNews

copycode.gif'/Home/RenderNews?pageIndex=3&pageSize=10'"POST" (result.trim() != """#containter"

copycode.gif

使用这种方式是后端直接输出的是渲染后的html,有时候我们需要返回给前端错误码,例如{“code”:10000,"message":"成功","data":"

aaaaa

"},所以就需要在controller中动态调用分布视图,拿到渲染结果,动态调用代码为:

copycode.gifpublic abstract class BaseController : Controller

{     /// 

/// 动态渲染分布视图     /// 

/// 视图名称

/// 模型

/// 渲染后的html

public virtual string RenderPartialViewToString(string viewName, object model)

{            if (string.IsNullOrEmpty(viewName))

viewName = this.ControllerContext.RouteData.GetRequiredString("action");            this.ViewData.Model = model;            using (var sw = new StringWriter())

{

ViewEngineResult viewResult = System.Web.Mvc.ViewEngines.Engines.FindPartialView(this.ControllerContext, viewName);                var viewContext = new ViewContext(this.ControllerContext, viewResult.View, this.ViewData, this.TempData, sw);

viewResult.View.Render(viewContext, sw);                return sw.GetStringBuilder().ToString();

}

}

}

copycode.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值