使视图局部化

时间:2013-02-12 10:51:52

标签: c# asp.net-mvc asp.net-mvc-3

我有一个名为drawGraph的视图,可通过控制器通过;

访问
@Html.ActionLink("DrawGraph", "drawGraph", new {id =item.data}) 

当我使用此链接时,页面会加载到新页面上(就像它一样)我想将其显示为链接所在页面的一部分,是否有任何简单的方法来实现此目的?

我的控制器看起来像这样;

   public ActionResult drawGraph(string data)
    {
         *Bunch of code
         return View(chart);
     }

1 个答案:

答案 0 :(得分:2)

是的,你可以,但是你需要使用Ajax,幸运的是,ASP.NET MVC提供了一些很好的方便方法,如Ajax.ActionLink

@Ajax.ActionLink("DrawGraph", "drawGraph", new {id =item.data},  
                 new AjaxOptions
                            {
                                UpdateTargetId = "yourDiv",
                                InsertionMode = InsertionMode.Replace,
                            })

<div id="yourDiv"> </div>

然后,您需要使用PartialView

返回行动中的部分视图
public ActionResult drawGraph(string data)
{

    //Bunch of code    
    return PartialView(chart);
}

您不应忘记在布局/视图中包含jquery.unobtrusive-ajax.min.js,以便Ajax帮助程序正常工作。

相关问题