Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用AJAX的Html.RenderAction_C#_Asp.net Mvc_Ajax_Renderaction - Fatal编程技术网

C# 使用AJAX的Html.RenderAction

C# 使用AJAX的Html.RenderAction,c#,asp.net-mvc,ajax,renderaction,C#,Asp.net Mvc,Ajax,Renderaction,是否可以使用HTMl.RenderAction和ajax来提供参数 我有一个这样的控制器动作 [ChildActionOnly] Public ActionResult EmployeeData(string id) { Employee employee = new Employee(); //do work to get data Return PartialView(employee); } 局部视图只是一个包含一些员工数据(姓名、地址等)的小表 然后,我有一个

是否可以使用HTMl.RenderAction和ajax来提供参数

我有一个这样的控制器动作

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

如何在success函数中显示部分尽管?
$('#somedivid').html(结果)
其中
somedivid
是包含结果的DOM元素的id。哦,我明白了,很抱歉我错过了$(“#somedivid”)。谢谢你,我要试试这个!好的,我正在这样做,但我没有进入成功函数,我添加了一个错误函数,我正在进入。如何显示抛出的错误是什么?我用正在编写的代码更新了我的问题。请尝试单步执行代码。可能在控制器操作中引发了异常。另外,使用
FireBug
可以帮助您查看从服务器发送和接收的内容。