【问题标题】:render partial view dynamic without return to mvc controller渲染局部视图动态而不返回 mvc 控制器
【发布时间】:2018-05-17 08:21:48
【问题描述】:

我有 div(ContentPartial) 我用它来加载部分视图。

注意这个局部视图不是固定的,它是从数据库中动态命名的,有时是学生有时是员工等等,......

我在前端使用MVC后端Web API,我不喜欢返回mvc控制器来查看部分视图,我需要查看部分使用 j 查询查看,如 html 渲染

这是我的 div

<div class="ContentPartial hidden">                            
</div>

这是我从 mvc 控制器加载部分视图的 ajax 请求

  $.ajax({
            URL: "/" + controllerName + "/" + ActionName + "",                
            data: JSON.parse(requestData),

            success: function (data) {  
                    $('.ContentPartial').removeClass('hidden');
                    $('.ContentPartial').html(data);

                  }
        })

这是我返回部分视图的控制器

 public ActionResult ActionName()
    {          
        return PartialView("ActionName");
    }

我想要这样的东西

$('.ContentPartial').renderpartial('dynamic view name')

【问题讨论】:

    标签: jquery asp.net-mvc html asp.net-web-api2


    【解决方案1】:

    ASP.NET MVC 是服务器端框架,jquery 是客户端库。没有请求就无法渲染视图。

    但你可以做一个控制器,以名称作为参数呈现视图

    public RendererController : Controller
    {
        public ActionResult Render(string viewName)
        {
            return PartialView(viewName);
        }
    }
    

    和客户端:

    function renderPartial($container, viewName) {
        $.ajax({
            URL: "/Renderer/Render?viewName=" + viewName,                
                success: function (data) {  
                    $container.html(data);
                    $container.show();
                }
        });
    }
    
    renderPartial($('.ContentPartial'), 'dynamic view name');
    

    请注意,您的视图需要位于共享文件夹中,控制器才能在没有完整路径的情况下找到它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多