2015-10-08 4 views
1

Я хотел бы вернуть представление внутри Ajax Success в моем JQuery.Вид возврата с jquery ajax

  • Это мой [HttpPost] MVC действий, украшенный HttpPost

    public ActionResult Search(SearchOrder order) 
    { 
        if (Session["UserID"] != null) 
        { 
         var results = orderPresenter.GetSearchOrderSearchResult("CUSTOMER", null, currentSettings.CompanyId, 
          currentSettings.CustomerId.ToString(), "-1", "1", "1752", "2993", "", -1, 
          "", -1, "91387", "1", "1", "454545", "", "4", 1, "", "404", "78", 
          "-1", DateTime.Parse("09/29/2015"), DateTime.Parse("10/01/2015"), 
          null, null, currentSettings.UserSecurityLevel.ToString(), 
          currentSettings.UserId.ToString(), "2", ""); 
         return View("SearchResults", results); 
        } 
        else 
         return RedirectToAction("Login", "Account"); 
    
    } 
    

    Это моя точка зрения, с которой HttpPost делается

    @{ 
    ViewBag.Title = "SearchOrder"; 
    Layout = "~/Views/Shared/_MasterLayout.cshtml"; 
    } 
    
          <div class="row" style="margin-top:40px;"> 
           <div class="col-md-7"> 
            <label class="control-label col-md-3">Tracking #</label> 
            <div class="col-md-4"> 
             <input name="Tracking" size=5 maxlength=5 onkeypress="return numbersonly(this, event)" style="width:50px;"> 
             -<input name="Tracking" size=5 maxlength=5 onkeypress="return numbersonly(this, event)" style="width:50px;"> 
             - <input name="Tracking" size=5 maxlength=5 onkeypress="return numbersonly(this, event)" style="width:50px;"> 
            </div> 
            <br> 
            <br> 
            <label class="control-label col-md-3">Order PO:</label> 
            <div class="col-md-4"> 
             <input type="text" style="width:100%;" /> 
            </div> 
            <br> 
            <br> 
            <label class="control-label col-md-3">Reference:</label> 
            <div class="col-md-4"> 
             <input type="text" style="width:100%;" /> 
            </div> 
            <br> 
            <br> 
            <label class="control-label col-md-3">SKU:</label> 
            <div class="col-md-4"> 
             <input type="text" style="width:100%;" /> 
            </div> 
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Country:</label> 
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Delivery Address:</label> 
    
    
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Users:</label> 
    
    
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
    
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Supplier:</label> 
    
    
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
    
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Manufacturer:</label> 
    
    
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
    
    
            <br> 
            <br> 
            <div class="form-group"> 
             <label class="control-label col-md-3">Category:</label> 
    
    
             <div class="col-md-4"> 
              <select class="form-control input-xlarge select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title="" id="form-controls"> 
               <option value=""></option> 
               <option value="AL">Option</option> 
               <option value="WY">Option</option> 
              </select> 
             </div> 
            </div> 
    
           </div> 
           <div class="col-md-4"> 
    
    
    
            <div class="form-group"> 
             <label class="col-md-3 control-label">Order Status:</label> 
             <div class="col-md-9"> 
              <select class="form-control" multiple=""> 
               <option>Option 1</option> 
               <option>Option 2</option> 
               <option>Option 3</option> 
               <option>Option 4</option> 
               <option>Option 5</option> 
              </select> 
             </div> 
            </div> 
    
    
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="col-md-3 control-label">Parts: </label> 
             <div class="col-md-9"> 
              <select class="form-control" multiple=""> 
               <option>Option 1</option> 
               <option>Option 2</option> 
               <option>Option 3</option> 
               <option>Option 4</option> 
               <option>Option 5</option> 
              </select> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="col-md-3 control-label">Bundles:</label> 
             <div class="col-md-9"> 
              <select class="form-control" multiple=""> 
               <option>Option 1</option> 
               <option>Option 2</option> 
               <option>Option 3</option> 
               <option>Option 4</option> 
               <option>Option 5</option> 
              </select> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="control-label col-md-3">Ordered After:</label> 
             <div class="col-md-3"> 
              <div class="input-group input-medium date date-picker" data-date="12-02-2012" data-date-format="dd-mm-yyyy" data-date-viewmode="years"> 
               <input type="text" class="form-control" readonly> 
               <span class="input-group-btn"> 
                <button class="btn default" type="button"><i class="fa fa-calendar"></i></button> 
               </span> 
              </div> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="control-label col-md-3">Ordered Before:</label> 
             <div class="col-md-3"> 
              <div class="input-group input-medium date date-picker" data-date="12-02-2012" data-date-format="dd-mm-yyyy" data-date-viewmode="years"> 
               <input type="text" class="form-control" readonly> 
               <span class="input-group-btn"> 
                <button class="btn default" type="button"><i class="fa fa-calendar"></i></button> 
               </span> 
              </div> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="control-label col-md-3">Shipped After:</label> 
             <div class="col-md-3"> 
              <div class="input-group input-medium date date-picker" data-date="12-02-2012" data-date-format="dd-mm-yyyy" data-date-viewmode="years"> 
               <input type="text" class="form-control" readonly> 
               <span class="input-group-btn"> 
                <button class="btn default" type="button"><i class="fa fa-calendar"></i></button> 
               </span> 
              </div> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
    
            <div class="form-group"> 
             <label class="control-label col-md-3">Shipped Before: </label> 
             <div class="col-md-3"> 
              <div class="input-group input-medium date date-picker" data-date="12-02-2012" data-date-format="dd-mm-yyyy" data-date-viewmode="years"> 
               <input type="text" class="form-control" readonly> 
               <span class="input-group-btn"> 
                <button class="btn default" type="button"> 
                 <i class="fa fa-calendar"></i> 
                </button> 
               </span> 
              </div> 
             </div> 
            </div> 
    
            <br> 
            <br> 
            <br> 
    
            <div class="clearfix"></div> 
    
            <div class="row"> 
    
             <div class="col-md-3"></div> 
             <div class="col-md-9"> 
              <button type="button" class="btn btn-default" style="float:right; margin-left:20PX; " id="per">Reset</button> 
              <a href="#"> 
    
               <button id="btnSearchOrder" type="button" class="btn btn-default" style="float:right; margin-left:20PX;" id="per" onclick="">Search</button> 
    
    
    
    
              </a> 
    
             </div> 
    
            </div> 
           </div> 
    
          </div> 
    
    $('#btnSearchOrder').click(function() { 
    
    
        var searchParam={ 
         'STrackNo': '123', 
         'OrderPO': '187' 
    
        }; 
    
    
        $.ajax({ 
         url: '/Order/Search', 
         type: 'POST', 
         data: searchParam, 
         success: function (data) { 
    
    
         } 
    
    
        }) 
    
    
    }) 
    

    Это Посмотреть вернуться из действия POST Http

    @model List<OneSourceCore.ViewModel.SearchOrder> 
    
    @{ 
    ViewBag.Title = "SearchOrder"; 
    Layout = "~/Views/Shared/_MasterLayout.cshtml"; 
    } 
    
    
    
    <div> 
    
    
    @using GridMvc.Html; 
    
    @if(Model!=null) 
    { 
    
    @Html.Grid(Model).Columns(columns => 
         { 
          columns.Add(C => C.TrackingNo).Sortable(true).Filterable(true).Titled("Tracking No").SetWidth(30); 
          columns.Add(C => C.OrderPO).Sortable(true).Filterable(true).Titled("Order PO").SetWidth(200); 
          columns.Add(C => C.DestPORef).Sortable(true).Filterable(true).Titled("Dest P.O").SetWidth(30); 
          columns.Add(C => C.OrderDate).Sortable(true).Filterable(true).Titled("Order Date").SetWidth(30); 
          columns.Add(C => C.ETS).Sortable(true).Filterable(true).Titled("ETS").SetWidth(30); 
          columns.Add(C => C.DeliveryAddress).Sortable(true).Filterable(true).Titled("Delivery Address").SetWidth(30); 
          columns.Add(C => C.Status).Sortable(true).Filterable(true).Titled("Status").SetWidth(30); 
          columns.Add(C => C.Total).Sortable(true).Filterable(true).Titled("Total").SetWidth(30); 
          columns.Add(C => C.Currency).Sortable(true).Filterable(true).Titled("Currency").SetWidth(30); 
         }).WithPaging(15) 
    } 
    

+0

'return RedirectToAction (« Login »,« Account »);' является бессмысленным, если его вызов ajax - вызовы ajax не перенаправляются. –

ответ

0

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

Если вы хотите перенаправить, вы можете просто выполнить обратный вызов Ajax внутри функции успеха (если по какой-либо причине вы не можете сделать это в исходном контроллере).

UPDATE

После того, как ваш комментарий я теперь понимаю, что вы хотите сделать.

вы ищете RedirectToAction Что, что вы используете в разделе еще:

Оригинальный контроллер

public ActionResult Search(SearchOrder order) 
{ 
    if (Session["UserID"] != null) 
    { 
     var results = orderPresenter.GetSearchOrderSearchResult("CUSTOMER", null, currentSettings.CompanyId, 
      currentSettings.CustomerId.ToString(), "-1", "1", "1752", "2993", "", -1, 
      "", -1, "91387", "1", "1", "454545", "", "4", 1, "", "404", "78", 
      "-1", DateTime.Parse("09/29/2015"), DateTime.Parse("10/01/2015"), 
      null, null, currentSettings.UserSecurityLevel.ToString(), 
      currentSettings.UserId.ToString(), "2", ""); 
     return View("SearchResults", results); 
    } 
    else 
     return RedirectToAction("Login", "Account"); 

} 

Новый контроллер

public ActionResult Search(SearchOrder order) 
{ 
    if (Session["UserID"] != null) 
    { 
     var results = orderPresenter.GetSearchOrderSearchResult("CUSTOMER", null, currentSettings.CompanyId, 
      currentSettings.CustomerId.ToString(), "-1", "1", "1752", "2993", "", -1, 
      "", -1, "91387", "1", "1", "454545", "", "4", 1, "", "404", "78", 
      "-1", DateTime.Parse("09/29/2015"), DateTime.Parse("10/01/2015"), 
      null, null, currentSettings.UserSecurityLevel.ToString(), 
      currentSettings.UserId.ToString(), "2", ""); 
     return RedirectToAction("SearchResults", results); 
    } 
    else 
     return RedirectToAction("Login", "Account"); 

} 

Если я не ошибаюсь , вы хотите перенаправить на новую страницу с данными скомпилированный в контроллере, если это так, то это должно работать.

+0

просто хотите вернуть полный вид из действия httppost с данными в модели –

+0

Итак, вы хотите перенаправить на новую страницу с новыми данными? @RizwanUlHaque – hjardine

+0

да, данные из элементов управления html –

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

  • Нет связанных вопросов^_^