Hidden/ReadOnly 表单值未发布到操作
Hidden/ReadOnly form values not posted to Action
嗨溢出者(有知识)
我刚部署的 .Net Core MVC 站点有问题。
我有一个包含多个组件的大型输入表单,包括多个文档上传和一个动态网格。
我有一个使用 Ajax 将数据发送到我的操作的自定义保存按钮和一个使用默认表单 post.
的提交按钮
现在,保存和提交按钮在我的开发机器上都可以正常工作,但是一旦我部署到 Web 服务器,表单上的隐藏和只读字段就不会 posted。
我的开发机器是 运行 IIS 10.0.10240,网络服务器是 运行 IIS 8.5.9600。
有没有人知道,正如我所说,Ajax 和默认值 post 在托管服务器上排除了这些值,但在我的开发机器上包含了它们。
[更新]
好像不是readonly和hidden字段,而是因为它们是小数,无法解析为小数数据类型?
例如来自模型状态:
"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl":{
"ChildNodes":空,
"Children":空,
"Key":"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl",
"SubKey":{
"Buffer":"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl",
"Offset":44,
"Length":9,
"Value":"PriceExcl",
"HasValue":真
},
"IsContainerNode":错误,
"RawValue":"1437.50",
"AttemptedValue":"1437.50",
"Errors":[
{
"Exception":空,
"ErrorMessage":"The value '1437.50' is not valid for PriceExcl."
}
],
"ValidationState":1
}
经过几个小时的摸索,我意识到这是因为模型绑定器没有正确绑定十进制值。所以我继续创建自定义模型活页夹和属性,如下所示:
嗨溢出者(有知识)
我刚部署的 .Net Core MVC 站点有问题。
我有一个包含多个组件的大型输入表单,包括多个文档上传和一个动态网格。 我有一个使用 Ajax 将数据发送到我的操作的自定义保存按钮和一个使用默认表单 post.
的提交按钮现在,保存和提交按钮在我的开发机器上都可以正常工作,但是一旦我部署到 Web 服务器,表单上的隐藏和只读字段就不会 posted。
我的开发机器是 运行 IIS 10.0.10240,网络服务器是 运行 IIS 8.5.9600。
有没有人知道,正如我所说,Ajax 和默认值 post 在托管服务器上排除了这些值,但在我的开发机器上包含了它们。
[更新]
好像不是readonly和hidden字段,而是因为它们是小数,无法解析为小数数据类型?
例如来自模型状态:
"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl":{
"ChildNodes":空,
"Children":空,
"Key":"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl",
"SubKey":{
"Buffer":"Lines[0645dc5b-09f8-4de5-ac0c-644a4103bcef].PriceExcl",
"Offset":44,
"Length":9,
"Value":"PriceExcl",
"HasValue":真
},
"IsContainerNode":错误,
"RawValue":"1437.50",
"AttemptedValue":"1437.50",
"Errors":[
{
"Exception":空,
"ErrorMessage":"The value '1437.50' is not valid for PriceExcl."
}
],
"ValidationState":1
}
经过几个小时的摸索,我意识到这是因为模型绑定器没有正确绑定十进制值。所以我继续创建自定义模型活页夹和属性,如下所示: