2017-06-18 45 views
0

我正在處理MVC應用程序,並且在我的一個Views中有一個選項卡控件,它有三個選項卡,每個選項卡(第一個和第二個)以填充可能在第三個選項卡上看到的一些數據,例如,當用戶填寫第一個選項卡上的輸入時,他將點擊另一個選項卡,用戶將填寫第二個選項卡上的輸入,並且當用戶單擊保存更改時,我想保存更改到數據庫(通過調用我的控制器的方法)並重定向用戶到第三片如何在MVC中引用按鈕時重定向到另一個tabpanel選項卡

下面是如何看起來對我的觀點的圖像:

這裏是我查看HTML(圖像上方)爲此:

<div class="" role="tabpanel" data-example-id="togglable-tabs"> 
          <ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist"> 
           <li role="presentation" class="active"> 
            <a href="#tab_content1" id="home-tab" role="tab" data-toggle="tab" aria-expanded="true">TAB 1</a> 
           </li> 
           <li role="presentation" class=""> 
            <a href="#tab_content2" role="tab" id="profile-tab" data-toggle="tab" aria-expanded="false">TAB 2</a> 
           </li> 
           <li role="presentation" class=""> 
            <a href="#tab_content3" role="tab" id="profile-tab" data-toggle="tab" aria-expanded="false">TAB 3</a> 
           </li> 
          </ul> 
          <div id="myTabContent" class="tab-content"> 
           <div role="tabpanel" class="tab-pane fade active in" id="tab_content1" aria-labelledby="home-tab"> 
            <div class="col-md-6 col-sm-6"> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 

             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
             <div class="form-group"> 
              //My inputs as text boxes 
             </div> 
            </div> 
           </div> 
           <div role="tabpanel" class="tab-pane fade" id="tab_content2" aria-labelledby="profile-tab"> 
            <div class="table-responsive"> 
             <table class="table table-striped jambo_table bulk_action"> 
              <thead> 
               <tr class="headings"> 
                <th class="column-title">Name </th> 
                <th class="column-title">Title </th> 
               </tr> 
              </thead> 
              <tbody> 

             </table> 
            </div> 
           </div> 
           <div role="tabpanel" class="tab-pane fade" id="tab_content3" aria-labelledby="profile-tab"> 
            <div class="row"> 
             <div class="col-md-5 col-sm-12 col-xs-12"> 

             </div> 
             <div class="col-md-7 col-sm-12 col-xs-12"> 
              <div class="table-responsive"> 
               <table class="table table-striped jambo_table bulk_action"> 
                <thead> 
                 <tr class="headings"> 
                  <th class="column-title">Name </th> 
                  <th class="column-title">Title</th> 
                  <th class="column-title">Value</th> 
                 </tr> 
                </thead>              
               </table> 
              </div> 
             </div> 
            </div> 
           </div> 
          </div> 
          <div class="col-md-12 col-sm-12 col-xs-12"> 
           <div class="form-group"> 
            <div class="col-md-12"> 
             <br /> 
             <button type="submit" class="btn btn-warning pull-right" id="btnSaveThis"><i class="fa fa-save"></i> Save changes</button> 

            </div> 
           </div> 
          </div> 
         </div> 

正如你可以看到從代碼的傢伙,只有一個在此查看「保存更改」按鈕,它submiting數據到服務器,並將其保存到數據庫中,並保存後我ussualy重定向它的索引頁是這樣的:

return RedirectToAction("Index", "Articles"); 

但現在我想知道我怎麼可以重定向用戶到「TAB 3」時,他是位於一個TAB 2,如果他按「保存更改」。

我所做的,現在是下一次,我acctually附着在click事件對我的按鈕,這是submiting對數據庫的更改,它看起來像這樣:

$('#btnSaveThis').click(function (e) { 
      e.preventDefault(); 
      $('#myTab a[href="#tab_content3"]').tab('show'); 
     }) 

這上面的代碼會打開第三個標籤當我在第二個選項卡上,如果我按下保存更改,但然後我的方法,位於一個控制器將不會被擊中,因爲這條線:e.preventDefault();

所以,大家好,我怎樣才能使我的控制器,保存對數據庫的更改,還要執行代碼從我的JavaScript打開第三個選項卡?

謝謝你們 乾杯

+0

@ Roxx'pro你解決這個問題? – hasan

回答

0

這將是太複雜了阿賈克斯解決這個問題,因爲有很多的項目,以循環throught的,所以我決定來解決這個問題的另一種方式。

我做什麼這裏是下一個:

    在一個方法的控制器
  • 定義ViewBag時形式通過了ViewBag該視圖中第二個選項卡
  • 上submited其上調用,並檢查是否在ViewBag中是有價值的,所以如果是,那麼將第三個Tab設置爲活動狀態,很快我會發布我的代碼,因爲我現在正在從我的手機寫這個答案! :)

但theoreticaly這是我如何解決這個

相關問題