视图发布的十进制数是控制器中的自然数

时间:2014-08-31 14:17:44

标签: c# view controller numbers decimal

我的表单有一个类型为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)
            {...}
}

0 个答案:

没有答案