我的表单有一个类型为number的输入字段。该字段包含十进制数字,这些数字在我的控制台中可以正确传递:
------WebKitFormBoundaryQKiycRaXM4F0HLVI
Content-Disposition: form-data; name="ActivityMet"
19.6
此外,Modelstate在控制器中有效。但是当值到达时,它不再是十进制数而是一个int。因此,19.6将变成196。非常令人困惑的部分:我在其他3个地方使用等效形式,它适用于每个人和每个人。
我的模型看起来像这样:
public class UpdateActivityModels
{
[Required]
public decimal ActivityMet { get; set; }
}
所以我视图中的表单如下所示:
<form class="form-horizontal" action="/Administration/UpdateActivity" role="form" enctype="multipart/form-data" method="post">
<label class="control-label" for="ActivityMet">MET:</label>
<input name="ActivityMet" class="form-control text-right" id="ActivityMet" type="number" value="196" min="0" max="20" step="0.1">
<button id="saveEditActivityButton160" type="submit" data-loading-text="Save..." class="btn btn-primary">Save</button></form>
我的控制器看起来像这样:
[HttpPost]
public ActionResult UpdateActivity(UpdateActivityModels model){
if (ModelState != null && ModelState.IsValid)
{...}
}