C# ASP.NETMVC脚本始终不工作

C# ASP.NETMVC脚本始终不工作,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,当MVC应用程序被查询时,它将运行代码并返回相关数据,但当有人在几秒钟后使用系统的另一部分添加数据时,这将使被调用的代码返回不同的结果,因为原始用户处于同一会话中,数据库不会像控制器返回一样被重新查询缓存结果。如果他们退出并关闭浏览器,然后重新开始,他们会得到新的结果 如何使其始终重新查询数据库 cshtml代码: @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("

当MVC应用程序被查询时,它将运行代码并返回相关数据,但当有人在几秒钟后使用系统的另一部分添加数据时,这将使被调用的代码返回不同的结果,因为原始用户处于同一会话中,数据库不会像控制器返回一样被重新查询缓存结果。如果他们退出并关闭浏览器,然后重新开始,他们会得到新的结果

如何使其始终重新查询数据库

cshtml代码:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
<script async type="text/javascript">
    $(function () {
        $("#SelecteZoneId").on("change", function () {
            var zoneId = $(this).val();
            var vrnUrl = "@Url.Action("GetVRNListForZone", "Check")?zoneId=" + zoneId;
            $.get(vrnUrl, function (data) {
                var $vehicleList = $("#vehicles");
                $("#vehicles").find(".list-group-item").remove();
                $.each(data, function (idx, item) {
                    $vehicleList.append("<li class=\"list-group-item\">" + item + "</list>");
                });
            });
        });

        $("#search").on("click", function () {
            var vrnVal = $("#vrn-id").val();
            var vrnUrl = "@Url.Action("GetVehicle", "Check")?vrn=" + vrnVal;
            $.get(vrnUrl, function (data) {
                $("#vehicle").find("li:eq(0)").html("<label>VRN:&nbsp;</label>");
                $("#vehicle").find("li:eq(1)").html("<label>Is Shared Vehicle:&nbsp;</label>");
                $("#vehicle").find("li:eq(2)").html("<label>Permit:&nbsp;</label>");
                $("#vehicle").find("li:eq(3)").html("<label>Permit Valid In Zones:&nbsp;</label>");
                $("#vehicle").find("li:eq(4)").html("<label>Last Parked:&nbsp;</label>");
                if (!!data) {
                    $("#vehicle").find("li:eq(0)").html("<label>VRN:&nbsp;</label>" + data["VRN"]);
                    $("#vehicle").find("li:eq(1)").html("<label>Is Shared Vehicle:&nbsp;</label>" + data["IsSharedVehicle"]);
                    $("#vehicle").find("li:eq(2)").html("<label>Permit:&nbsp;</label>" + data["PermitNr"]);
                    $("#vehicle").find("li:eq(3)").html("<label>Permit Valid In Zones:&nbsp;</label>" + data["Zones"]);
                    $("#vehicle").find("li:eq(4)").html("<label>Last Parked:&nbsp;</label>" + data["pDate"]);
                }
            });
        });
    });
</script>
@Scripts.Render(“~/bundles/jquery”)
@Scripts.Render(“~/bundles/bootstrap”)
@RenderSection(“脚本”,必需:false)
$(函数(){
$(“#SelecteZoneId”)。在(“更改”,函数(){
var zoneId=$(this.val();
var vrnUrl=“@Url.Action(“GetVRNListForZone”,“Check”)?zoneId=“+zoneId;
$.get(vrnUrl,函数(数据){
变量$vehicleList=$(“#车辆”);
$(“#车辆”).find(“.list组项目”).remove();
$。每个(数据、函数(idx、项){
$vehicleList.append(“
  • ”+项目+”); }); }); }); $(“#搜索”)。在(“单击”上,函数(){ var vrnVal=$(“#vrn id”).val(); var vrnUrl=“@Url.Action(“GetVehicle”,“Check”)?vrn=“+vrnVal; $.get(vrnUrl,函数(数据){ $(“#vehicle”).find(“li:eq(0)”).html(“VRN:”); $(“#车辆”).find(“li:eq(1)”).html(“是共享车辆:”); $(“#vehicle”).find(“li:eq(2)”).html(“Permit:”); $(“#车辆”).find(“li:eq(3)”).html(“许可证在区域内有效:”); $(“#vehicle”).find(“li:eq(4)”).html(“上次停放:”); 如果(!!数据){ $(“#vehicle”).find(“li:eq(0)”).html(“VRN:+data[“VRN]”); $(“#vehicle”).find(“li:eq(1)”).html(“Is Shared vehicle:+data[“IsSharedVehicle]”); $(“#vehicle”).find(“li:eq(2)”).html(“Permit:+data[“PermitNr]”); $(“#vehicle”).find(“li:eq(3)”).html(“许可证在区域内有效:”+数据[“区域]); $(“#vehicle”).find(“li:eq(4)”).html(“上次停放:+data[“pDate]”); } }); }); });
  • .cs代码:

        public JsonResult GetVRNListForZone(int? zoneId)
        {
            JsonResult json = null;
            IList<string> vrnList = null;
    
            if (zoneId == null)
            {
                vrnList = DbContext.tblSessions
                                    .Where(x => x.CouncilId == Council.Id && !x.ExpireTicket && this.EndOfDayYesterday < x.ParkedOn)
                                    .Select(v => v.tblVehicle.RegistrationNumber).ToList();
            }
            else
            {
                vrnList = DbContext.tblSessions
                                    .Where(x => x.ZoneId == zoneId.Value && !x.ExpireTicket && this.EndOfDayYesterday < x.ParkedOn)
                                    .Select(v => v.tblVehicle.RegistrationNumber).ToList();
            }
    
            if (vrnList.Any())
            {
                json = Json(vrnList, JsonRequestBehavior.AllowGet);
            }
    
            return json;
        }
    
        public JsonResult GetVehicle(string vrn)
        {
            JsonResult json = null;
    
            var endOfPreviousDay = DateTime.Now.AddDays(-1).EndOfDay();
            var session = DbContext.tblSessions.Include(x => x.tblPermit)
                                    .Where(x => x.CouncilId == Council.Id && x.tblVehicle.IsActive && x.tblVehicle.RegistrationNumber == vrn)
                                    //.Where(x => x.CouncilId == Council.Id && x.tblVehicle.IsActive && x.tblVehicle.RegistrationNumber == vrn && endOfPreviousDay < x.ParkedOn)
                                    .OrderByDescending(x => x.ParkedOn)
                                    .FirstOrDefault();
            if (session != null)
            {
                var parkingDetails = new ParkingDetails()
                {
                    SharedVehicleId = session.SharedVehicleId,
                    PermitId = session.PermitId,
                    ParkedOn = session.ParkedOn,
                    PermitSn = session.tblPermit.PermitSn
                };
    
                var zones = session.tblPermit.tblZones.Select(x => x.ZoneName).ToList();
    
                string isSharedVehicle = "Yes";
                if (parkingDetails.SharedVehicleId == null)
                {
                    isSharedVehicle = "No";
                }
    
                json = Json(new
                {
                    VRN = vrn.ToUpper() + ((session.PdParking) ? " (P+D Parking)" : ""),
                    IsSharedVehicle = isSharedVehicle,
                    PermitNr = parkingDetails.PermitSn,
                    Zones = string.Join(", ", zones),
                    pDate = parkingDetails.ParkedOn.ToString("dd/MMM/yyyy")
                }, JsonRequestBehavior.AllowGet);
                return json;
            }
            var vehicle = DbContext.tblUserVehicles.FirstOrDefault(u => u.tblVehicle.RegistrationNumber == vrn && u.tblUser.IsActive);
            if (vehicle != null)
            {
                var userData = Council.tblUsers.FirstOrDefault(u => u.Id == vehicle.IdUser && u.IsActive);
                if (userData != null)
                {
                    var permit = DbContext.tblPermits.Find(userData.ActivePermit);
                    var parkingDetails = new ParkingDetails()
                    {
                        SharedVehicleId = 0,
                        PermitId = permit.Id,
                        PermitSn = permit.PermitSn
                    };
                    var zones = permit.tblZones.Select(x => x.ZoneName).ToList();
                    json = Json(new
                    {
                        VRN = vrn.ToUpper(),
                        IsSharedVehicle = "No",
                        PermitNr = parkingDetails.PermitSn,
                        Zones = string.Join(", ", zones),
                        pDate = ""
                    }, JsonRequestBehavior.AllowGet);
                    return json;
                }
            }
            json = Json(new
            {
                VRN = "Not Found",
                IsSharedVehicle = "No",
                PermitNr = "",
                Zones = "",
                pDate = ""
            }, JsonRequestBehavior.AllowGet);
            return json;
        }
    
    public JsonResult GetVRNListForZone(int?zoneId)
    {
    JsonResult json=null;
    IList vrnList=null;
    if(zoneId==null)
    {
    vrnList=DbContext.tblSessions
    .Where(x=>x.CouncilId==Council.Id&&!x.ExpireTicket&&this.endofdayday昨天v.tblvehice.RegistrationNumber).ToList();
    }
    其他的
    {
    vrnList=DbContext.tblSessions
    .Where(x=>x.ZoneId==ZoneId.Value&&!x.ExpireTicket&&this.endofdaydaybeatyv.tblvehice.RegistrationNumber).ToList();
    }
    if(vrnList.Any())
    {
    json=json(vrnList,JsonRequestBehavior.AllowGet);
    }
    返回json;
    }
    公共JsonResult GetVehicle(字符串vrn)
    {
    JsonResult json=null;
    var endOfPreviousDay=DateTime.Now.AddDays(-1.EndOfDay();
    var session=DbContext.tblSessions.Include(x=>x.tblPermit)
    .Where(x=>x.CouncilId==Council.Id&&x.tblvehile.IsActive&&x.tblvehile.RegistrationNumber==vrn)
    //其中(x=>x.CouncilId==Council.Id&&x.tblvehile.IsActive&&x.tblvehile.RegistrationNumber==vrn&&endOfPreviousDayx.ParkedOn)
    .FirstOrDefault();
    if(会话!=null)
    {
    var parkingDetails=新的parkingDetails()
    {
    SharedVehicleId=session.SharedVehicleId,
    PermitId=session.PermitId,
    ParkedOn=session.ParkedOn,
    PermitSn=session.tblPermit.PermitSn
    };
    var zones=session.tblPermit.tblZones.Select(x=>x.ZoneName.ToList();
    字符串isSharedVehicle=“是”;
    if(parkingDetails.SharedVehicleId==null)
    {
    isSharedVehicle=“否”;
    }
    json=json(新的
    {
    VRN=VRN.ToUpper()+((session.PdParking)?“(P+D停车)”:“”),
    IsSharedVehicle=IsSharedVehicle,
    PermitNr=停车详情。PermitSn,
    Zones=string.Join(“,”区域),
    pDate=parkingDetails.ParkedOn.ToString(“dd/MMM/yyyy”)
    },JsonRequestBehavior.AllowGet);
    返回json;
    }
    var vehicle=DbContext.tblUserVehicles.FirstOrDefault(u=>u.tblvehile.RegistrationNumber==vrn&&u.tblUser.IsActive);
    如果(车辆!=null)
    {
    var userData=Council.tblUsers.FirstOrDefault(u=>u.Id==vehicle.IdUser&&u.IsActive);
    if(userData!=null)
    {
    var permit=DbContext.tblPermits.Find(userData.ActivePermit);
    var parkingDetails=新的parkingDetails()
    {
    SharedVehicleId=0,
    PermitId=permit.Id,
    PermitSn=permit.PermitSn
    };
    var zones=permit.tblZones.Select(x=>x.ZoneName.ToList();
    json=json(新的
    {
    VRN=VRN.ToUpper(),
    IsSharedVehicle=“否”,
    PermitNr=停车详情。PermitSn,
    Zones=string.Join(“,”区域),
    pDate=“”
    },JsonRequestBehavior.AllowGet);
    返回json;
    }
    }
    
    $.ajax({
        url: vrnUrl,
        method: 'GET',
        cache: false,
        success: function (data) {
            var $vehicleList = $("#vehicles");
            $("#vehicles").find(".list-group-item").remove();
            $.each(data, function (idx, item) {
                $vehicleList.append("<li class=\"list-group-item\">" + item + "</list>");
            });
        })
    });
    
    [OutputCache(VaryByParam = "*", Duration = 0, NoStore = true)]
    public JsonResult GetVehicle(string vrn)
    {
        ...
    }
    
    [OutputCache(VaryByParam = "*", Duration = 0, NoStore = true)]
    public class CheckController : Controller
    {
       ...
    }