2012-10-02 23 views
0

在ASP.Net MVC項目中,我使用帶有頁眉和頁腳的經典兩列布局的Razor內置_layout.cshtml。這個想法是在佈局的右列中顯示我的應用程序視圖,並且爲整個站點提供一致的外觀,而無需複製代碼...在Razor佈局中呈現ASP.NET MVC視圖刷新整個站點

問題是每次我調用視圖並使其呈現的內容我用@RenderBody()佈局右列,整個佈局被刷新。這是正常的行爲嗎?

在這個Razor的佈局概念中,是否有任何內置的機制來刷新渲染的視圖內容而不是整個站點,還是我必須製作一個jQuery Ajax調用並使用視圖內容進行div替換?

感謝

艾蒂安

回答

1

,如果你想dinamically切換你的內容,你必須加載通過AJAX的數據,然後更換您的網站的右列...剃鬚刀沒有一個「自動模式「來做到這一點。 = P

我有一些項目使用這種'方法'。我將視圖呈現爲部分視圖(在控制器中),然後獲取html並放到我想要的位置。

+1

對我這樣的人來說,試圖不浪費資源是無用的嗎?對我這樣的人來說,這是否會使整個佈局變得有點無用? –

+0

佈局的要點與母版頁的要點相同 - 避免您需要剪切和粘貼多個頁面上的元素。 – Dave

0

同時呼籲該頁面@ u可以使用iframe的,而不是@RenderBody(){佈局= NULL;}

<ul> 
     <li class="LoadContent" data-url="http://api.jquery.com/not-selector/">Jquery-not-selector</li> 
     <li class="LoadContent" data-url="http://api.jquery.com/contents/">Jquery-contents</li> 
    </ul> 
    <iframe src="" width="80%" height="600" id='frameDemo'></iframe> ​ 


    $(document).ready(function() { 
     $('.LoadContent').click(function() { 
      $('#frameDemo').attr('src', $(this).data('url')); 
     }); 
    });​ 

demo

+0

for u url還需要更改嗎? – Thulasiram

+0

不一定...... –

相關問題