Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 双精度和十进制不起作用_C#_Asp.net Mvc - Fatal编程技术网

C# 双精度和十进制不起作用

C# 双精度和十进制不起作用,c#,asp.net-mvc,C#,Asp.net Mvc,我必须设定一个双精度或十进制的价格。 我犯了这个错误,我已经尝试了我所知道的一切 型号: public double price { get; set; } 控制器创建: public ActionResult Create([Bind(Include = "ID,farmID,productID,price, URL")] ProductFarm productFarm) { if (ModelState.IsValid) { db.farmProd

我必须设定一个双精度或十进制的价格。 我犯了这个错误,我已经尝试了我所知道的一切

型号:

public double price { get; set; }
控制器创建:

public ActionResult Create([Bind(Include = "ID,farmID,productID,price, URL")] ProductFarm productFarm) {
        if (ModelState.IsValid) {
            db.farmProducts.Add(productFarm);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.farmID = new SelectList(db.farms.OrderBy(x => x.farmName), "farmID", "farmName", productFarm.farmID);
        ViewBag.productID = new SelectList(db.products.OrderBy(x => x.productName), "productID", "productName", productFarm.productID);
        return View(productFarm);
    }
编辑-添加视图代码:

<div class="form-group">
        @Html.LabelFor(model => model.price, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.price, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.price, "", new { @class = "text-danger" })
        </div>
    </div>

@LabelFor(model=>model.price,htmlAttributes:new{@class=“controllabel col-md-2”})
@EditorFor(model=>model.price,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.price,“,new{@class=“text danger”})

此错误基本上是区域设置问题。您必须设置要针对的区域设置。默认情况下,MVC支架将默认为您电脑的文化

您可以在web.config中设置区域性

<system.web>
<globalization culture ="en-US" />
</system.web>
让你看看如何使用它

或者

您可以自己扩展jquery.validate插件


上面的代码来自jquery.validate.js的第1050行,您可以看到验证。我改变了返回语句。一个返回值验证点,另一个验证逗号。

您的服务器所在的区域设置是否使用逗号作为小数分隔符,而不是点?您应该始终使用小数表示金额。显示价格字段的查看代码。必须是逗号和点所在的类型。。服务器来自丹麦,所以我是逗号。。我能得到一个关于如何修复的提示吗?@wannabecoder jquery负责,用于修复它谢谢你的回答,但我无法让它工作。。我已经跟踪了link,但仍然不起作用:/请将其放入web.config文件中,这一定是区域设置错误。因为你说了一些关于丹麦的事。我想你的地点在丹麦。否则你的代码就没有问题了。
Install-Package jQuery.Validation.Globalize
number: function (value, element) {
        return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value); //dot separated
        return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value); //comma separated
    }