如何在jQuery Accordion上执行以下ajax请求?

我使用Asp.Net MVC创建了一个jQuery Accordion,它工作正常。 手风琴显示员工姓名列表,当我点击某个项目时,它会显示详细信息。 我想发送一个AJAX请求,以便在他们点击某个项目时获取员工详细信息,而不是一次性加载所有员工详细信息。 请看下面的代码。

另外,请告诉我如何保持手风琴中的第一个项目折叠而不是显示细节,是否有任何方法可以将标题向右移动而不使用&nbsp

 
@foreach (var item in Model.Employees) {

    @item.EmployeeName

Address: @item.Address

Town: @item.Town

Postcode: @item.PostCode

PhoneNumber: @item.PhoneNumber

}
$(function () { $("Accordion").click(function (evt) { $.ajax({ url: "/Accordion/GetEmployeeDetails", type: 'POST', data: //need code to pass the employeeid that was clicked on the accordion, success: function (data) { $.each(data, function (i, val) { //need code to populate the respective accordion with the employee details }); } }); } });

这是一个向控制器发送AJAX请求的示例:

 
@foreach (var item in Model.Employees) {

    @item.EmployeeName

Address: @item.Address

Town: @item.Town

Postcode: @item.PostCode

PhoneNumber: @item.PhoneNumber

}

在你的控制器中:

 [HttpGet] public ActionResult GetEmployeeDetails(int employeeId) { // code: get the details based on employeeId var detail = new Model.EmployeeDetail(); return Json(detail, JsonRequestBehavior.AllowGet); } 

Thiago的实施似乎应该有效。 但是,我会基于Employee模型创建一个部分视图_EmployeeDetails以及您希望细节的外观,

 @model Employee 

Address: @item.Address

Town: @item.Town

Postcode: @item.PostCode

PhoneNumber: @item.PhoneNumber

在您的控制器中,您将返回它,

 public ActionResult GetEmployeeDetails(int employeeId) { ... var employee = Repository.GetEmployee(employeeId); return PartialView("_EmployeeDetails", employee); } 

您可以使用哪个结果来设置AJAX响应中每个

内容,