【问题标题】:Ajax.ActionLink Works OnceAjax.ActionLink 工作一次
【发布时间】:2014-01-24 23:43:50
【问题描述】:

我正在用 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;
}

【问题讨论】:

    标签: c# asp.net-mvc razor asp.net-ajax


    【解决方案1】:

    您必须确保您的 UpdateTargetId = VehicleScheduleEdit 指向您要更新的 div 元素的适当 ID。

    您还需要确保您的 PartialView 放置在此 div 元素中,而不是 div 元素是您的 PartialView 的一部分。

    【讨论】:

      猜你喜欢
      • 2014-11-25
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多