使用ajax渲染部分视图

我已经检查了这个问题 ,它解决了我最初的问题。 但是我不希望仅在用户单击链接时呈现局部视图,我想在页面加载时呈现部分视图,并且可能在加载部分视图时显示进度指示器。

怎么实现呢?

非常感谢您阅读本文。

如果要加载页面然后通过ajax加载局部视图,可以创建一个ActionMethod ,它可以执行以下操作:

 public ActionResult Create() { var model = new MyModel(); if (Request.IsAjaxRequest()) { return PartialView( "_Partial", model.PartialModel ); } else { return View( model ); } } 

然后在你的页面中执行以下操作:

 $(function(){ $(document).ajaxStart(function () { //show a progress modal of your choosing showProgressModal('loading'); }); $(document).ajaxStop(function () { //hide it hideProgressModal(); }); $.ajax({ url: '/controller/create', dataType: 'html', success: function(data) { $('#myPartialContainer').html(data); } }); }); 

调节器

 public ActionResult GetModule(string partialName){ return PartialView("~/Views/Shared/"+partialName); } 

在默认页面上(使用jquery ajax操作)

 
Loading...

您可以通过编写@Html.Partial(...)在初始页面中呈现它。