2011-05-25 30 views
2

我在我的視圖中有三個選項卡(點擊時啓用了div),在tab3中我具有刪除功能。當我在確認框中點擊「確定」時,記錄被刪除並重定向到我的視圖,即tab1啓用。在asp.mvc中的標籤導航中保留數據

我的控制器:

public ActionResult DeleteAccount(int? id) 
     { 
      if(id.HasValue) 
      { this.UserAccountTasks.DeleteUserProfile(id.Value); } 

      return this.RedirectToAction("ManageCompanies"); 
     } 

我怎樣才能重定向到刪除後同一TAB3?

回答

1

開始與此:

return RedirectToAction("ManageCompanies", new { showThirdTab = true }); 

而在你ManageCompanies行動,採取所謂的showThirdTab一個布爾參數。將它傳遞給你的視圖,如果它是真的,設置一個類或一些值來告訴你的javascript切換到該選項卡。

偏離主題有點,但我可能會建議一種不同的方法?只需在刪除後異步返回三個選項卡的數據/ html,並使用jQuery將其加載到其他div中即可。

0

我已經列出下面的方法,可能會有更多!

1.標籤中的所有操作都應該使用ajax調用完成。

2.使用Html和模型數據操作。

步驟:

一)。在模型中創建一個屬性,「ActiveTab」類型整數

b)。在視圖中,

@{ 
    //We can also use the array 
    string activeTabCss1 =Model.ActiveTab == 1? "active-tab":String.Empty ; 
    string activeTabCss2 = Model.ActiveTab == 2? "active-tab":String.Empty ; 
    string activeTabCss3 = Model.ActiveTab == 3? "active-tab":String.Empty ; 
} 
<div class="tab @activeTabCss1"></div> 
<div class="tab @activeTabCss2"></div> 
<div class="tab @activeTabCss3"></div> 

3.使用jquery處理DOM元素。

步驟:

一)。按照步驟2.a

b)。在該視圖中,爲ActiveTab創建一個隱藏。

@Html.HiddenFor(m=>m.ActiveTab) 

c)。編寫一個以下的JavaScript函數。

$(document).ready(function(){ 
     var activeTab = $("#ActiveTab").val(); 
     $(".tab:nth-child("+activeTab +")").addClass('active-tab'); 
});