2012-01-27 1 views
0

저는 ASP MVC에서 매우 새롭고 트리 페이지를 다시로드하지 않고도 콘텐츠 페이지를 다시로드 할 수 있는지 궁금합니다 (페이지 왼쪽에 있음) . 내 _layout.cshatml 파일은 그런 식으로콘텐츠 페이지를 다시로드하는 방법 (treemenu를 다시로드하지 않고)

<!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> 

에게 (몸을 렌더링에 대한 책임) 메인 페이지를 보이는 난 이후에만 콘텐츠 사업부를 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

하지 당신이로드 할 부분보기에, 메인 레이아웃보기에 있어야 내용을로드 자바 스크립트 코드

그래서, 자바 스크립트 코드를 사용하여 메인 레이아웃 :

<!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>