2015-01-11 5 views
0

Я использую частичные просмотры на каждой вкладке. У меня есть 3 вкладки.MVC tabs save partialview

После того, как я выбрал вкладку, как отправить форму в частичном просмотре и оставить ее на той же вкладке после отправки на контроллер? Я просто хочу обновить частичное представление после сохранения и, надеюсь, не всю страницу.

Контроллер порядка

public ActionResult order() 
    { 
     return View(); 
    } 

order.cshtml

<div id="tabs"> 
    <ul class="nav nav-tabs"> 
     <li class="active"><a href="#tabs-1">General</a></li> 
     <li><a href="#tabs-2">Item</a></li> 
     <li><a href="#tabs-3">Total</a></li>   
    </ul> 


    <div id="tabs-1"> 
     @{Html.RenderPartial("_Partial_General_Tab");} 
    </div> 

    <div id="tabs-2"> 
     @{Html.RenderPartial("_Partial_Item_Tab");} 
    </div> 

    <div id="tabs-3"> 
     Content for Tab 3 goes here.<br />   
    </div> 

</div> 

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#tabs").tabs(); 
     }); 
</script> 

_Partial_General_Tab.cshtml

@model Mvc5.Models.ORDERMetadata 


@using (Html.BeginForm("Edit", "Order")) 
{ 
    @Html.AntiForgeryToken() 

    @Html.ValidationSummary(true) 

    // Set New Order Number 
    @Html.HiddenFor(model => model.Order_Number, new { @Value = ordernumber }) 

    @Html.TextBoxFor(model => model.Order_Date}) 

    <button id="editorder" type="submit">Save</button> 

} 

_Partial_Item_Tab.cshtml

@model Mvc5.Models.ORDER_DETAILSMetadata 


@using (Html.BeginForm("Item", "Order")) 
{ 
    @Html.AntiForgeryToken() 

    @Html.ValidationSummary(true) 

    // Set New Order Number 
    @Html.HiddenFor(model => model.Order_Number, new { @Value = ordernumber }) 

    @Html.TextBoxFor(model => model.Item}) 

    <button id="edititem" type="submit">Save</button> 

} 

Edit Controller

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Edit(ORDERMetadata model) 
    {   

     try 
     {   

      // update order   

      return RedirectToAction("order"); //<----- Is this correct redirecting????? 


     } 

    } 

Пункт Контроллер

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Item(ORDER_DETAILSMetadata model) 
    {   

     try 
     {   

      // update order   

      return RedirectToAction("order"); //<----- Is this correct redirecting, do I need to pass what tab it is on????? 


     } 

    } 
+0

, то вы должны использовать Ajax для этого. –

ответ

0

вместо использования Html.BeginForm Html.AjaxForm

Смежные вопросы