如何从MVC中的动作渲染局部视图

时间:2015-09-16 16:35:39

标签: asp.net-mvc asp.net-mvc-4

我在控制器中执行了一些操作。我希望在这些操作结束时显示一个在局部视图中呈现的模态。我在上述操作结束时所做的事情如上所述:

return PartialView("_confirmed");

但是没有任何显示。执行操作但不显示局部视图。

我做错了吗?

先谢谢你

2 个答案:

答案 0 :(得分:1)

使用return PartialView("_confirmed");会将_confirmed视图返回为partial,这意味着它不会从_Layout(或您配置的视图布局)渲染布局。

使用浏览器中的fiddler或网络标签,检查是否正在返回_confirmed中的html。如果它被返回,你的js中有一个问题就是捕获_confirmed html并在模型中呈现它。

答案 1 :(得分:0)

如果要将部分视图返回到ajax,则必须手动绑定html。

动作

public ActionResult Action(...)
{
     var model = ...;    

     return PartialView( "Partial", model.PartialModel ); // in same ControllerI
     return PartialView( "~/Views/ControllerName/ViewName.cshtml, model.PartialModel ); // If its in different controller should mention detailed path
}

如果您使用的是Ajax

 $.ajax({
              url: '/controller/action',              
              dataType: 'html',
              success: function(data) {
                 $('#partial').html(data);
              },
              ...
           });