我们有一个ASP.Net MVC3应用程序,将在英国和德国使用。
某些编辑屏幕涉及编辑浮点值。这些是使用
呈现的@Html.EditorFor(m => m.Multiplier, new { size = 5, id = "multiplier" })
...或
@Html.TextBoxFor(m => m.Multiplier, new { size = 5, id = "multiplier" })
我们的基本问题是,当运行DE-de文化(使用小数点)时,我们会在验证摘要中收到消息,如
•值“4,3”对乘数无效。
在进行一些研究后,我发现客户端验证的国际化支持在MVC 3中并不是那么好。我理解有潜在的解决方案涉及添加更新的Javascript全球化工作。但为了最大限度地减少影响,我宁愿简单地禁用客户端验证,并接受此验证需要在服务器端完成。
所以......我试图以多种方式禁用客户端验证:
a)在编辑屏幕的代码中:
@using Foo.Models.Analyses
@model Foo.Models.Analyses.Bar
@{
Html.EnableClientValidation(false);
Html.EnableUnobtrusiveJavaScript(false);
using (Html.BeginForm("SomeAction", "SomeController", FormMethod.Post, new { autocomplete = "off" }))
{
b)如上所述,但使用语法HtmlHelper.ClientValidationEnabled = false; HtmlHelper.UnobtrusiveJavaScriptEnabled = false
c)如a)和b)中所述,但使用web.config。
这些似乎都没有压制消息。所以我的问题是:
1)框架的哪个部分仍在执行此验证。 (它不会发生在服务器端验证覆盖。)
2)如何抑制这一点。