我想知道如何问这个问题,但不知何故我必须......
TL;博士。我曾在一个系统上工作过,由其他人传给我,在某个地方运行,他们带着他们的有线请求和想法来了。所以我说让我们做 X 的事情并完成它,但是当我运行它时,我发现它并没有像以前那样工作......调试应用程序,我到达地方,测试测试测试和查看,比如我一整天都在这部分上崩溃,我只能说,为什么一切都是正确的,为什么数据存在,为什么它是有效的,但控制器仍然说它是无效的:|
出色地。今天我回到同一个项目,同一个问题点,这就是我所看到的:
这是我发送的请求:
{
"Code" : 16,
"StampForm" : {
"$error" : {},
"$name" : "stampForm",
"$dirty" : true,
"$pristine" : false,
"$valid" : true,
"$invalid" : false,
"$submitted" : true,
"confirmUser" : {
"$viewValue" : "a",
"$modelValue" : "a",
"$validators" : {},
"$asyncValidators" : {},
"$parsers" : [],
"$formatters" : [null],
"$viewChangeListeners" : [],
"$untouched" : false,
"$touched" : true,
"$pristine" : false,
"$dirty" : true,
"$valid" : true,
"$invalid" : false,
"$error" : {},
"$name" : "confirmUser",
"$options" : null
},
"ReqNo" : "2",
"ConfirmUser" : "a",
"SabtDate" : "1395/06/15"
},
"MouseData" : {
"locLeft" : 250.5,
"locTop" : 395.53125,
"width" : 812,
"height" : 663,
"mouseX" : 223.5,
"mouseY" : 186.46875
}
}
我使用的模型:
public class StampForm
{
public string ReqNo { get; set; }
public string SabtDate { get; set; }
public string FlightRef { get; set; }
public string HotelRef { get; set; }
public string ConfirmUser { get; set; }
public string PassengerNum { get; set; }
public string Price { get; set; }
public string FlightNo1 { get; set; }
public string FlightNo2 { get; set; }
public string TicketSrv { get; set; }
public string VoucherSrv { get; set; }
/// <summary>
/// تنظیم کننده
/// </summary>
public string Corrector { get; set; }
/// <summary>
/// اقامت
/// </summary>
public string Stay { get; set; }
public string PersonPrc { get; set; }
public string RoomPrc { get; set; }
public CartableStampPositions Position { get; set; }
public string Description { get; set; }
}
public class MouseData
{
public float LocLeft { get; set; }
public float LocTop { get; set; }
public float LocRight { get; set; }
public float LocBottom { get; set; }
public float Width { get; set; }
public float Height { get; set; }
public float MouseX { get; set; }
public float MouseY { get; set; }
}
public class StampVM
{
public int Code { get; set; }
public StampForm StampForm { get; set; }
public MouseData MouseData { get; set; }
}
在这里,当我调试时:
你看到了吗?'ConfirmUser' 填充了“a”,它会产生错误,但更重要的是,它不是 'ConfirmUser',它是 'confirmUser' 以小 'c' 开头,并且来自其他具有相同名称的角度对象,它甚至在我的模型中不存在,但由于它具有相同的名称,控制器让它进来,让它参与进来。给我带来很多问题和头痛。现在我抓住了它,我必须解决它,但是我应该如何告诉控制器忽略它?
更新,我忘了告诉你我使用的是 MVC.Net WebAPI 2 控制器,而不是 MVC 控制器