小編給大家分享一下怎樣使用asp.net mvc部分視圖渲染html,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、營銷型網(wǎng)站、小程序開發(fā)、微信公眾號(hào)開發(fā)、網(wǎng)站推廣服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為建筑動(dòng)畫企業(yè)提供源源不斷的流量和訂單咨詢。為了提升用戶體驗(yàn),一般我們采用ajax加載數(shù)據(jù)然后根據(jù)數(shù)據(jù)渲染html,渲染html可以使用前端渲染和服務(wù)器端渲染。
前端渲染
使用前端模版引擎或MVC框架,例如underscore.js的template或者是使用angular.js等框架,當(dāng)然也可以不用任何框架自己拼接html。
underscore.js的template渲染html
后端渲染
如果是使用的asp.net mvc可以使用部分視圖,由ajax直接加載服務(wù)器端渲染后的部分視圖,這部分的全部代碼請(qǐng)?jiān)L問我的github。
public ActionResult News() { return View(); } public ActionResult RenderNews(int pageIndex = 1, int pageSize = 10) { return PartialView(); }
前端直接發(fā)ajax請(qǐng)求RenderNews
$.ajax({ url: '/Home/RenderNews?pageIndex=3&pageSize=10', type: "POST", beforeSend: function() { }, complete: function() { }, success: function(result) { if (result.trim() != "") { $("#containter").html(result); } }, error: function(e) { console.log(e); } });
使用這種方式是后端直接輸出的是渲染后的html,有時(shí)候我們需要返回給前端錯(cuò)誤碼,例如{“code”:10000,"message":"成功","data":"
aaaaa
"},所以就需要在controller中動(dòng)態(tài)調(diào)用分布視圖,拿到渲染結(jié)果,動(dòng)態(tài)調(diào)用代碼為:public abstract class BaseController : Controller { ////// 動(dòng)態(tài)渲染分布視圖 /// /// 視圖名稱 /// 模型 ///渲染后的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(); } } }
以上是“怎樣使用asp.net mvc部分視圖渲染html”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!