簡體   English   中英

使用AJAX的Html.RenderAction

[英]Html.RenderAction using AJAX

是否可以使用ajax來使用HTMl.RenderAction來提供參數?

我有這樣的控制器動作

[ChildActionOnly]
Public ActionResult EmployeeData(string id)
{
    Employee employee = new Employee();
    //do work to get data

    Return PartialView(employee);
}

局部視圖只是一個包含一些員工數據(名稱,地址等)的小表

然后我有一個頁面,其中包含員工下拉列表,其中數據字段是EmployeeData所需的ID(字符串ID)

我想使用ajax,因此當從下拉列表中選擇員工時,EmployeeData部分視圖將顯示在其下方而不刷新頁面。 如果選擇了另一名員工,則再次。

雖然我不知道如何做到這一點,如果可能的話。


正如我在這里推薦的那樣。 (請不要介意這不是我上面提到的員工數據示例,數據在數據庫中沒有准備就緒,我有多個區域可以做同樣的事情所以我決定今天就這個工作)

在我看來,這是我的JS

  $("#repList").change(function () {
    var id = $("#repList").val();
    $.ajax({
        url: '/Reporting/GetSalesTargets/' + id,
        success: function (result) {

              $("#partialdiv").html(result);
        },
        error: function () {
            alert("error");
            }
    });
});

我正在進入將返回視圖的控制器操作,這是它。

public ActionResult GetSalesTargets(string id)
{
    int month = DateTime.Now.Month;
    SalesMarketingReportingService mktSrv = new SalesMarketingReportingService();

    SalesTargetModel model = mktSrv.GetRSMSalesTargetModel(id, month);

    return PartialView(model);
}

這是可能的,但您必須刪除[ChildActionOnly]屬性。 它成為一個普通的動作,返回你可以使用AJAX調用的局部視圖:

$.ajax({
    url: '/home/employeedata/123',
    success: function(result) {
        $('#somedivid').html(result);
    }
});

暫無
暫無

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

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