2012-01-27 6 views
0

私はASP MVCでかなり新しく、ページの左側にあるツリーメニューをリロードせずにコンテンツページを読み込むことができるかどうか疑問に思っていました。 。 マイ_layout.cshatmlファイルがそのようコンテンツページのみを読み込む方法(ツリーメニューを再ロードせずに)

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 

    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    <div class="page"> 
     <header> 
      <div id="title"> 
       <h1>My MVC Application</h1> 
      </div> 
      <div id="logindisplay"> 
       @Html.Partial("_LogOnPartial") 
      </div> 
      <nav> 
       @{ Html.RenderAction("TopMenu", "Menu"); } 
      </nav> 
     </header> 

      <div id="categories"> 
     @{Html.RenderAction("TreeMenu", "Tree");} 
    </div> 
    <div id="content"> 
     @RenderBody() 
    </div> 
    </div> 
</body> 
</html> 

に見える(身体をレンダリングするための責任)メインページは、私は後にのみコンテンツのdivをrealoadする能力を持っているしたいと

@{ 
    ViewBag.Title = "Home Page"; 
} 
<a href='javascript:getView();'>Get Partial View</a> 
<script type="text/javascript"> 
    function getView() { 
     $('#divResult').load("@Url.Action("GridViewPartial", "Home")"); 
    } 
</script> 
<div id='divResult'> 
</div> 

のように見えますツリー上のユーザークリックノード。それは可能ですか?私はdivにデータを注入できるjQuery関数のロードがあることを知っています。しかし、私はdivの "divResult"をツリーの部分的なビューからどのように参照することができますか分からない。この機能を実現することは可能ですか? 。

答えて

1

ないあなたにロードする部分図で、あなたのメインのレイアウトビューである必要があり、コンテンツをロードするJavaScriptコード

ので、JavaScriptコードの主なレイアウト:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 

    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    <div class="page"> 
     <header> 
      <div id="title"> 
       <h1>My MVC Application</h1> 
      </div> 
      <div id="logindisplay"> 
       @Html.Partial("_LogOnPartial") 
      </div> 
      <nav> 
       @{ Html.RenderAction("TopMenu", "Menu"); } 
      </nav> 
     </header> 

      <div id="categories"> 
     @{Html.RenderAction("TreeMenu", "Tree");} 
    </div> 
     <div id="content"> 
      @RenderBody() 
     </div> 
    </div> 
    <script type="text/javascript"> 
     $(doument).ready(function(){ 
      $('nav').click(function(){ // click on navigation, you should narrow it down to some id 
       $('#content').load("@Url.Action("GridViewPartial", "Home")"); // replaces content div's inner html with loaded partial 
      }); 
     }); 
    </script> 
</body> 
</html> 
関連する問題