MVC JavaScript将模型视为未定义
正在使用Java脚本函数从模型返回数据以在视图中显示。基本上是尝试验证最终用户输入的日期,以确保它们符合数据库中基于他们选择的某些选项的范围。我有一个在一页上工作的示例: 视图: 这将返回我所关注的日期,在视图中运行良好,通过将其记录到控制台可以看到它获得了正确的数据 另一方面,我有以下看法: 视图: 从控制台的日志中可以看出,这是从模型中获取正确的数据,但值显示为“未定义”。我不明白为什么它只在一个视图上工作而不在另一个视图上工作MVC JavaScript将模型视为未定义,javascript,model-view-controller,undefined,Javascript,Model View Controller,Undefined,正在使用Java脚本函数从模型返回数据以在视图中显示。基本上是尝试验证最终用户输入的日期,以确保它们符合数据库中基于他们选择的某些选项的范围。我有一个在一页上工作的示例: 视图: 这将返回我所关注的日期,在视图中运行良好,通过将其记录到控制台可以看到它获得了正确的数据 另一方面,我有以下看法: 视图: 从控制台的日志中可以看出,这是从模型中获取正确的数据,但值显示为“未定义”。我不明白为什么它只在一个视图上工作而不在另一个视图上工作 $("#validFrom").on(&
$("#validFrom").on("change", function () {
var DateFrom = new Date();
var DateTo = new Date();
var CustType = $("#CustomType option:selected").val();
var DimID = $("#EmpSel option:selected").val();
var PostID = $("#PostSel option:selected").val();
var DivisionID = "@ViewBag.DivID";
var DepartmentID = "@ViewBag.DptID";
if (CustType == "Employee")
{
$.ajax({
url: ApplicationRoot() + "/BIConfigData/HRHierarchyCustom/EmployeeDates",
data: { divID: DivisionID, dptID: DepartmentID, dimEmpID: DimID },
type: "GET",
success: function (empdetail) {
var edatefrom = empdetail.ValidFrom;
var edateto = empdetail.ValidTo;
DateFrom = $("#validFrom").val();
DateTo = $("#validTo").val();
if (DateFrom >= edatefrom && DateTo <= edateto && DateFrom <= DateTo)
{
$("#SaveBtn").show();
$("#DateMsg").empty();
}
else {
$("#SaveBtn").hide();
var msg = 'Dates for this employee must be beteen ' + edatefrom + ' and ' + edateto;
$("#DateMsg").empty();
$("#DateMsg").append(msg);
}
console.log(empdetail);
console.log(edatefrom);
}
})
}
Controller:
public JsonResult EmployeeDates (int divID, int dptID, int dimEmpID)
{
var Employees = HRHierarchy.GetEmployees(divID, dptID);
Employees.ToArray();
var empdetail = Array.Find(Employees, x=>x.DimEmployeeID == dimEmpID);
return Json(empdetail, JsonRequestBehavior.AllowGet);
}
$("#validFrom").on("change", function () {
var DateFrom = new Date();
var DateTo = new Date();
var DivID = $("#SelDiv option:selected").val();
var DptID = $("#SelDep option:selected").val();
var TmID = $("#SelTm option:selected").val();
$.ajax({
url: ApplicationRoot() + "/BIConfigData/CallSystemQueueOwner/HierarchyDates",
data: { divID: DivID, dptID: DptID, tmID: TmID },
type: "GET",
success: function (hierarchy) {
var edatefrom = hierarchy.ValidFrom;
var edateto = hierarchy.ValidTo;
DateFrom = $("#validFrom").val();
DateTo = $("#validTo").val();
console.log(hierarchy.ValidFrom);
console.log(hierarchy);
if (DateFrom >= edatefrom && DateTo <= edateto && DateFrom <= DateTo) {
$("#BtnSbt").show();
$("#DateMsg").empty();
}
else {
$("#BtnSbt").hide();
var msg = 'Dates for this must be beteen ' + edatefrom + ' and ' + edateto;
$("#DateMsg").empty();
$("#DateMsg").append(msg);
}
}
})
public JsonResult HierarchyDates(int divID, int dptID, int? tmID)
{
var Hierarchy = HRHierarchy.GetHierarchyDate(divID, dptID, tmID);
var hierarchy = Hierarchy.ToArray();
return Json(hierarchy, JsonRequestBehavior.AllowGet);
}