Ajax.ActionLink работает один раз

Я делаю что-то сумасшедшее с ActionLink. Это работает один раз, а затем не будет обновлять DIV снова. Когда я отлаживаю его, код проходит через все, но изменения не отображаются в DIV.

@Ajax.ActionLink("Make/Model", "SortVehicle", "Exposure", new { an = agreementNumber, sortOrder = "make" }, new AjaxOptions() { UpdateTargetId = "VehicleScheduleEdit", InsertionMode=InsertionMode.Replace })

Код контроллера:

   public ActionResult SortVehicle(int an, string sortOrder)
    {
        switch (sortOrder)
        {
            case "year":
                sortOrder = "VehicleSchedule.AutoYear";
                break;
            case "make":
                sortOrder = "VehicleSchedule.MakeModel";
                break;
           default:
                sortOrder = "VehicleSchedule.MakeModel";
                break;
        }
        VehicleScheduleViewModel objVehicleModel = new VehicleScheduleViewModel();

        ViewData["VehicleScheduleViewModel"] = objVehicleModel.GetVehicleScheduleSorted(an, sortOrder);
        return PartialView("_VehicleSchedule");

    }

Получение данных:

public IEnumerable<VehicleScheduleViewModel> GetVehicleScheduleSorted(int agreementNumber, string sortOrder)
{
    var dataVehicle = (from VehicleSchedule in trustDB.LicensedAutos
            where VehicleSchedule.AgreementNumber == agreementNumber
            orderby (sortOrder)
            select new VehicleScheduleViewModel
            {
                RID = VehicleSchedule.RID,
                MakeModel = VehicleSchedule.MakeModel,
                IDNumber = VehicleSchedule.IDNumber,
                Location = VehicleSchedule.Location,
                AutoYear = VehicleSchedule.AutoYear,
                AutoValue = (double?)VehicleSchedule.AutoValue ?? 0,
                YearAddedtoDistrict = (DateTime?)VehicleSchedule.YearAddedtoDistrict ?? DateTime.Now,
                NumOfPassengers = (int?)VehicleSchedule.NumOfPassengers ?? 0,
                DistVehNo = VehicleSchedule.DistVehNo,
                NoCollision = VehicleSchedule.NoCollision,
                NoComp = VehicleSchedule.NoComp,
                InvalidVIN = VehicleSchedule.InvalidVIN,
                AgreementNumber = (float?)VehicleSchedule.AgreementNumber ?? 0
            });

    return dataVehicle;
}

1 ответ

Вы должны убедиться, что ваш UpdateTargetId = VehicleScheduleEdit указывает на соответствующий идентификатор элемента div, который вы хотите обновить.

Вам также необходимо убедиться, что ваш PartialView находится внутри этого элемента div, а не что элемент div является частью вашего PartialView.

Другие вопросы по тегам