Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在ASP.NET MVC中从另一个局部视图更新局部视图,而不更新所有视图_Asp.net Mvc_Vb.net_Razor_Partial Views - Fatal编程技术网

Asp.net mvc 在ASP.NET MVC中从另一个局部视图更新局部视图,而不更新所有视图

Asp.net mvc 在ASP.NET MVC中从另一个局部视图更新局部视图,而不更新所有视图,asp.net-mvc,vb.net,razor,partial-views,Asp.net Mvc,Vb.net,Razor,Partial Views,我有两个局部视图,左视图显示菜单,右视图显示内容 单击“链接1”时,我想将“内容”区域从局部视图“PartialViewContent1”切换到“PartialViewContent2” 就代码而言,我实际上做到了这一点: 文件索引.vbhtml <body> <article> <section> <p>@Html.Action("Menu", "Menu")</p> </sect

我有两个局部视图,左视图显示菜单,右视图显示内容

单击“链接1”时,我想将“内容”区域从局部视图“PartialViewContent1”切换到“PartialViewContent2”

就代码而言,我实际上做到了这一点:

文件索引.vbhtml

<body>
<article>
      <section>
           <p>@Html.Action("Menu", "Menu")</p>
      </section>
 </article>
<aside>

 @Select Case Convert.ToString(Model)
     Case "Menu2"
         @Html.Action("PartialViewContent2", "PartialViewContent2")
     Case "Menu3"
         @Html.Action("PartialViewContent3", "PartialViewContent3")
     Case Else
         @Html.Action("PartialViewContent1", "PartialViewContent1")
 End Select

 </aside>
<ul>
<li>
@Html.ActionLink("Link 1", "Link1", "Home")
</li>
<li>
@Html.ActionLink("Link 2", "Link2", "Home")
</li>
<li>
@Html.ActionLink("Link 3", "Link3", "Home")
</li>

@动作(“菜单”,“菜单”)

@选择Case Convert.ToString(模型) 案例“Menu2” @Action(“PartialViewContent2”、“PartialViewContent2”) 案例“Menu3” @Action(“PartialViewContent3”、“PartialViewContent3”) 其他情况 @Action(“PartialViewContent1”、“PartialViewContent1”) 结束选择

文件PartialViewMenu.vbhtml

<body>
<article>
      <section>
           <p>@Html.Action("Menu", "Menu")</p>
      </section>
 </article>
<aside>

 @Select Case Convert.ToString(Model)
     Case "Menu2"
         @Html.Action("PartialViewContent2", "PartialViewContent2")
     Case "Menu3"
         @Html.Action("PartialViewContent3", "PartialViewContent3")
     Case Else
         @Html.Action("PartialViewContent1", "PartialViewContent1")
 End Select

 </aside>
<ul>
<li>
@Html.ActionLink("Link 1", "Link1", "Home")
</li>
<li>
@Html.ActionLink("Link 2", "Link2", "Home")
</li>
<li>
@Html.ActionLink("Link 3", "Link3", "Home")
</li>
  • @ActionLink(“Link1”、“Link1”、“Home”)
  • @ActionLink(“Link2”、“Link2”、“Home”)
  • @ActionLink(“Link3”、“Link3”、“Home”)

使用此体系结构,每个视图(和显示的部分视图)都会刷新


恐怕这种行为不符合人体工程学,在性能方面也不是很有效。是否有方法更新内容而不是菜单(如果有页脚或页眉,则更新视图的其余部分)?

我终于找到了如何做到这一点

使用Ajax的简单jQuery代码实现了以下功能:

$(function() {

  $('#link1').click(function(){
    $.ajax({
      url: this.href,
      dataType: "script",
      success: function(result) {
        $("#container").html(result);
      }
    });
  });     

  e.preventDefault();
  return false;
});


});