MVC3中的部分呈现

时间:2012-01-17 09:43:26

标签: asp.net-mvc-3 razor

我正在尝试渲染特定的部分/ div单击特定的链接或按钮。假设链接/按钮位于A.cshtml页面中,b.cshtml是我要在特定部分/ div中的A.cshtml页面中加载的部分视图。我试过Ajax.ActionLink但不能这样做。有任何帮助或建议吗?

3 个答案:

答案 0 :(得分:1)

  

我尝试了ajaxactionlink但是不能

这不是在这里提出问题的方法。 Cant do 不是一个精确的问题描述。下次当您询问有关SO的问题时,请说明您尝试了什么。

这就是说,让我举一个例子:

@Ajax.ActionLink("click me", "SomeAction", new AjaxOptions {
    UpdateTargetId = "result"
})
<div id="result"></div>

然后你将有一个动作来呈现这个局部视图:

public ActionResult SomeAction()
{
    return PartialView("_NameOfYourPartial");
}

最后确保您已将jquery.unobtrusive-ajax.js脚本引用到您的页面,该脚本使用Ajax.ActionLink帮助程序发出的HTML5 data- *属性来劫持click事件并发送AJAX请求而不是正常请求:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

答案 1 :(得分:0)

控制器可以将部分视图作为操作结果返回:

public ActionResult Details()
{
    var model = // your model
    var viewName = // your partial view name
    return PartialView(viewName, model);
}

答案 2 :(得分:0)

Ajax.ActionLink应该这样做,可能是你错过了什么。 检查此post它可能会给你答案