发布到控制器的double为null

时间:2013-10-02 21:04:48

标签: asp.net-mvc-4 entity-framework-4 null double

我遇到了以下问题。在我的数据库中,我有一个类型为“float”的属性。当我使用Entity Framework创建模型时,相同的属性由“double”字段表示。

这就是事情。在视图中,如果我编写例如“23,22”,则数据注释表明它不是数字,如果我写“23.22”则通过验证但属性的值在到达控制器时为空。

知道为什么会这样吗?我一直在寻找信息,但没有任何用处。

提前致谢!

编辑:我添加了使用该属性的代码。

在模型类中,它是这样的:

    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”,当我访问控制器中的属性值时,它为空。

1 个答案:

答案 0 :(得分:1)

作为一种可能的解决方案,您可以更改jQuery文化以允许逗号分隔符而不是点。在这种情况下,double将正确传递。

//For example German culture uses comma. Just add this line:

    <script>
    Globalize.culture("de-DE");
    </script>