ASP.Net MVC部分视图

ASP.Net MVC部分视图

问题描述:

我有一个菜单(与Html.ActionLink作为菜单选项jquery-ui手风琴)。在选择菜单选项时,如何在父视图的主内容<div>中呈现局部视图?ASP.Net MVC部分视图

我可以渲染局部视图,但不在主内容<div>内。我应该在我的菜单选项中使用Html.ActionLink吗?

+0

它是否给出任何错误..如果是的话,你可以请在这里发布?如果可能的话,你的代码也是如此,这将有助于确定问题 – 2009-09-21 07:00:24

我不相信行动链接会帮助你,但他们是朝着正确方向迈出的一步。

你已经把到迄今为止播放模式:

link: /articles/sports   Main Area 
link: /articles/local_news 

沿左边的两个环节是呈现给页面正常链接你的ActionLinks。点击后,他们只会回复到服务器,整个页面将被清除。

你想要做的就是点击服务器上的内容,并简单地在页面上的某个容器内使用该内容。为此,您可以使用异步发布到服务器的onclick处理程序呈现普通链接以检索部分内容,然后可以使用该部分内容来设置主DIV的内容。

例如,这可以在您的浏览声明:

<a href="javascript:{Load('<%= Url.Action("Sports", "Articles") %>');}"> 
    Sports 
</a> 

注意使用Url.Action助手方法来充分利用数据路由到正确形成出站网址。

在客户端(这使用jQuery的,但任何其他库或JavaScript将做):

function Load(url) 
{ 
    $.post 
    (
    url, 
    null, 
    function(data) 
    { 
     $("#mainDIV").html(data); 
    }, 
    "html" 
); 
} 

我使用的$.post代替$.get回避浏览器缓存的问题。

+0

谢谢大卫。像魅力一样工作! – 2009-09-21 07:51:26