2011-03-03 19 views
0

我有多個選項卡,我呼籲每個標籤的ASCX文件保留選項卡控制數據,我有一定的控制,併爲每個ASCX文件提交按鈕。現在,當我在第一個標籤中輸入數據並切換到第二個標籤並輸入一些數據並點擊提交時,第一個標籤數據也變空了。在MVC 2

我想保持數據的第一個選項卡或當我firrst選項卡上輸入數據,然後點擊提交的數據則什麼都沒有在其他選項必須在那裏。

可以在任何一個部分源如何解決這個問題。

回答

0

MVC2沒有 「視圖狀態」 像web.forms一樣。這意味着如果它不是以某種方式顯示在屏幕上,則必須將其存儲在會話中以保持它。我不會推薦使用會話,因爲在某些情況下,你可以將自己綁在節點上,但可以適用於某些情況。

基本上,你有2個選擇離開,如果你不想使用會話:

1 - 顯示你的標籤都在第1頁,然後顯示/隱藏使用它們的jQuery給客戶

例如:

<a href="#" onclick="showTab('tabcontents1');">Tab 1</a> 
<a href="#" onclick="showTab('tabcontents2');">Tab 2</a> 
<a href="#" onclick="showTab('tabcontents3');">Tab 3</a> 

<div id="tabcontents1" class="tabcont"> 
... 
</div> 
<div id="tabcontents2" class="tabcont"> 
... 
</div> 
<div id="tabcontents3" class="tabcont"> 
... 
</div> 

然後使用JQuery或JavaScript來隱藏它們並加載並在點擊時顯示它們。例如:

$(document).ready(function() { 
    $(".tabcont").hide(); 
}); 

function showTab(tab) { 
    $(".tabcont").hide(); 
    $("#"+tab).show(); 
} 

OR

2 - 把你想在你的窗體上的隱藏輸入堅持任何數據。如果你只有一個小模型,這可能是最簡單的方法。

注意:此規則是HTML規則,而不是MVC規則。使用ViewState和MVC的Webforms只是「假」持久性對於你如何處理http更加誠實。