2013-10-05 1 views
1

У меня есть один DropDownlist и Webgrid. Когда я загружаю страницу все Datas где Bind, то мне нужно привязать данные в Webgrid в зависимости от изменения DropDownlist. Как я это делаю ,Как использовать PartialView для привязки данных в webgrid на ASP.Net MVC

Мой код:

Script:

Он призовет Функциональный контроллер

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#Cust_Id").change(function() { 
      firstDDLValue = $("#Cust_Id").val();  
      $.post(
      '@Url.Action("SelectCustomerByID", "Admin")', 
      { 
       secondValue: firstDDLValue 
      }, 
      function (ReceiptList) { 
      }); 
     }); 
    }); 
</script> 

Controller Code:

public ActionResult SelectCustomerByID(Receipt model,string secondValue) 
{ 
    int CustID = 0; 
    if (secondValue != "") 
    { 
     CustID = Convert.ToInt32(secondValue); 
    } 
    ObservableCollection<Receipt> ReceiptList = new ObservableCollection<Receipt>(); 
    Receipt Receipt = new Models.Receipt(); 
    model.ReceiptList = Receipt.GetReceiptListByCustID(CustID); 
    return View(model.ReceiptList); 
} 

ответ

1

Вы должны вернуть PartialView в своем действии:

return PartialView(model.ReceiptList); 

Это работает, только если у вас есть вид под названием SelectCustomerByID. Если у вас есть представление с другим именем можно указать, что в перегрузке:

return PartialView("_NameOfPartialView", model.ReceiptList); 

Затем в success функции $.post():

function (ReceiptList) { 
    // ReceiptList will contain the html of the grid. 
    $('#id-of-datagrid').html(ReceiptList); 
} 

Примечание: Я думаю, вы должны удалить параметр Receipt model из SelectCustomerByID.

+0

сэр, я попытался установить идентификатор WebGrid, но не в состоянии установить идентификатор в it..how установить ID для WebGrid .. –

+0

@PraveenS оберните веб-сетку в div с id: '

'. Затем вы можете использовать '$ ('# web-grid')'. –

+0

Я пробовал эти коды, но не просматривал Просмотров –

1

Я нашел ответ на это я просто изменил мой Script и использовать ParitalView для связывания данных в ГИРД мое решение кодекса:

Script

<script type="text/javascript"> 
$(document).ready(function() { 
$("#Cust_Id").change(function() { 
firstDDLValue = $("#Cust_Id").val(); 
$.get('@Url.Action("SelectCustomerByID", "Admin")', { secondValue: firstDDLValue }, function (ReceiptList) { 
    $('#gridContent').html(ReceiptList); 
    }); 
    }); 
}); 
</script> 

я создать новую _Recepitgrid.cshtml, как PartialView и писать код для Webgrid как тот же, что и в главном представлении.

Controller

public ActionResult SelectCustomerByID(Receipt model, string secondValue) 
{ 
int CustID = 0; 
if (secondValue != "") 
CustID = Convert.ToInt32(secondValue); 
ObservableCollection<Receipt> ReceiptList = new ObservableCollection<Receipt>(); 
Receipt Receipt = new Models.Receipt(); 
ReceiptList = Receipt.GetReceiptListByCustID(CustID); 
return PartialView("_Recepitgrid", ReceiptList); 
} 

Теперь он работает отлично ..

+0

Это в основном мой ответ .. –

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