2013-03-08 51 views
0

在MVC3項目中使用引導程序。我已經實現了Bootstrap選項卡導航功能。MVC3兩個字段集兩個按鈕

我的麻煩是,我需要在每個選項卡上具有自己的字段和提交按鈕的不同表單,但是當我點擊第二個提交按鈕(在第二個選項卡上)時,表單將提交包含在第一個。

我的代碼...

@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(true) 

@*<fieldset>*@ 

<div class="tabbable"> <!-- Only required for left/right tabs --> 
    <ul class="nav nav-tabs"> 
    <li class="active"> 
     <a href="#tab1" data-toggle="tab">Usuario</a> 
    </li> 
    <li> 
     <a href="#tab2" data-toggle="tab">Agente</a> 
    </li> 
    </ul> 
    <div class="tab-content"> 

    <div class="tab-pane active" id="tab1"> 

    <fieldset> 

    <table class="table" border="0" cellspacing="5" > 
    <tr> 

    <td> 

     @*<td style="border-top:0px;">*@ 
     <span class="label">Datos del usuario</span> 

     <br /> 
     <br /> 

     <div class="editor-field" title="User name"> 

      <select> 

      <option>usuario numero 1</option> 
      <option>usuario numero 2</option> 
      <option>usuario numero 3</option> 
      <option>usuario numero 4</option> 
      <option>usuario numero 5</option> 

      </select> 

      @*@Html.TextBoxFor(model => model.Users.Name, new { @maxlength = "9", @autocomplete = "off", style = "width: 140px;" }) 
      @Html.ValidationMessageFor(model => model.Users.Name)*@ 


     </div> 

     <br /> 
     <div class="editor-label"> 
      <span class="label">Login (e-mail)</span> 
     </div> 

     <div class="editor-field" title="User Login"> 
      @Html.TextBoxFor(model => model.Login, new {style = "width: 140px;" }) 
      @Html.ValidationMessageFor(model => model.Login) 

     </div> 
     <br /> 
     <div class="editor-label"> 
      <span class="label">Password</span> 
     </div> 

     <div class="editor-field" title="User Password"> 

      <span>Se genera automáticamente</span>      


     </div> 

     </td> 
     </tr> 
    </table> 

     <br /> 
     <br /> 

    <div style="float: right;"> 


     <button type="reset" class = "btn btn-warning"> 
      <i class="icon-fire icon-white"></i> Clear 
     </button> 

     <button type="submit" class = "btn btn-success"> 
      <i class="icon-plus icon-white"></i> Create 
     </button> 

    </div> 
    </fieldset> 


    </div> 



    <div class="tab-pane" id="tab2"> 

    <fieldset> 

    <table class="table" border="0" cellspacing="5" > 
    <tr> 
    <td> 
     <span class="label">Datos del agente</span> 
     <br /> 
     <br /> 

     <div class="editor-label"> 
      <span class="label">Login (e-mail)</span> 
     </div> 

     <div class="editor-field" title="Agent Login"> 

      @Html.TextBoxFor(model => model.Login, new { style = "width: 140px;" }) 
      @Html.ValidationMessageFor(model => model.Login) 


     </div> 
     <br /> 
     <div class="editor-label"> 
      <span class="label">Password</span> 
     </div> 

     <div class="editor-field" title="Agent Password"> 

      <span>Se genera automáticamente</span> 


     </div> 

     <br /><br /><br /><br /><br /> 

    </td> 
    </tr> 
    </table> 


     <div style="float: right;"> 

     <div class = "btn-group"> 
       <a class="btn" href="#" onclick="location.href='@Url.Action("Index", "Admin", null)';return false;"><i class="icon-ban-circle"></i> Cancel</a> 
     </div> 

     <button type="reset" class = "btn btn-warning"> 
      <i class="icon-fire icon-white"></i> Clear 
     </button> 

     <button type="submit" class = "btn btn-success"> 
      <i class="icon-plus icon-white"></i> Create 
     </button> 

     </div> 

     </fieldset> 

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



} 

如何得到它的工作任何想法?

在此先感謝!

+1

你有你在同一個窗體上的按鈕,這就是爲什麼它提交第一個數據。相反,採取兩個單獨的形式,並在@ Html.BeginForm – 2013-03-08 10:33:01

+0

感謝所有使用不同的動作名稱!你是對的!! – equisde 2013-03-08 10:38:30

回答

1

你需要在每個選項卡上:

@using(Html.BeginForm()) 
{ 
    ... 
} 

您還需要指定其中至少一個非違約後採取行動。

可以單獨使用@Html.ValidationSummary(),但如果您想在兩個實例中看到任何錯誤,它將不得不落在選項卡之外。