簡體   English   中英

如何在ASP.Net MVC上使用PartialView綁定Webgrid中的數據

[英]How to use PartialView to bind Data in webgrid on ASP.Net MVC

我有一個DropDownlist和Webgrid。當我將所有數據加載到頁面綁定的位置時,我需要根據DropDownlist的更改將數據綁定到Webgrid中。

我的代碼是:

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);
}

您應該在操作中返回PartialView

return PartialView(model.ReceiptList);

僅當您有一個名為SelectCustomerByID的視圖時,此方法才有效。 如果您有其他名稱的視圖,則可以在重載中指定該視圖:

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

然后在$.post() success函數中:

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

注意:我認為您必須從SelectCustomerByID刪除Receipt model參數。

我找到了答案,我剛剛修改了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);
}

現在它將正常工作..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM