C# ASP.NETMVC脚本始终不工作
当MVC应用程序被查询时,它将运行代码并返回相关数据,但当有人在几秒钟后使用系统的另一部分添加数据时,这将使被调用的代码返回不同的结果,因为原始用户处于同一会话中,数据库不会像控制器返回一样被重新查询缓存结果。如果他们退出并关闭浏览器,然后重新开始,他们会得到新的结果 如何使其始终重新查询数据库 cshtml代码: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("
@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: </label>");
$("#vehicle").find("li:eq(1)").html("<label>Is Shared Vehicle: </label>");
$("#vehicle").find("li:eq(2)").html("<label>Permit: </label>");
$("#vehicle").find("li:eq(3)").html("<label>Permit Valid In Zones: </label>");
$("#vehicle").find("li:eq(4)").html("<label>Last Parked: </label>");
if (!!data) {
$("#vehicle").find("li:eq(0)").html("<label>VRN: </label>" + data["VRN"]);
$("#vehicle").find("li:eq(1)").html("<label>Is Shared Vehicle: </label>" + data["IsSharedVehicle"]);
$("#vehicle").find("li:eq(2)").html("<label>Permit: </label>" + data["PermitNr"]);
$("#vehicle").find("li:eq(3)").html("<label>Permit Valid In Zones: </label>" + data["Zones"]);
$("#vehicle").find("li:eq(4)").html("<label>Last Parked: </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
{
...
}