次の問題がありました。私のデータベースには、タイプが「float」の属性があります。Entity Framework でモデルを作成すると、同じ属性が "double" フィールドで表されます。
つまりね。ビューで、たとえば「23,22」と書くと、データ注釈はそれが数値ではないことを示し、「23.22」と書くと検証に合格しますが、コントローラーに到達すると属性の値はnullになります。
なぜそれが起こるのですか?情報を探していますが、まだ有用なものはありません。
前もって感謝します!
編集:その属性を使用するコードを追加します。
モデルクラスでは、次のようになります。
public class TestObject{
....
public Nullable<double> attribute { get; set; }
....
}
ビューで:
@Html.EditorFor(m => m.attribute)
そしてコントローラーで:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Test(TestObject test)
{
....
return View();
}
「23.22」と書いてあると、コントローラーで属性値にアクセスするとnullになってしまいます。