我有一个自定义模型类,其中包含一个十进制成员和一个接受此类的条目的视图.一切都运行良好,直到我添加javascripts来格式化输入控件内的数字.当焦点模糊时,格式代码格式化输入的数字与千位分隔符','.
问题是我的模态类中的十进制值没有与千位分隔符很好地绑定/解析.当我用"1,000.00"测试它时,ModelState.IsValid返回false,但是对于"100.00"没有任何更改它是有效的.
如果您有任何解决方案,请与我分享?
提前致谢.
样本类
public class Employee
{
public string Name { get; set; }
public decimal Salary { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
样本控制器
public class EmployeeController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult New()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult New(Employee e)
{
if (ModelState.IsValid) // <-- It is retruning false for values with ','
{
//Subsequence codes if entry is valid.
//
}
return View(e);
}
}
Run Code Online (Sandbox Code Playgroud)
示例视图
<% using (Html.BeginForm())
{ %>
Name: <%= Html.TextBox("Name")%><br /> …Run Code Online (Sandbox Code Playgroud) 我有一个文本文件,我用它来输入信息到我的应用程序.问题是一些值是浮点数,有时它们是空的,这就是我得到一个例外的原因.
var s = "0.0";
var f = float.Parse(s);
Run Code Online (Sandbox Code Playgroud)
上面的代码在第2行抛出异常"输入字符串的格式不正确."
我相信解决方案将是float.Parse的高级重载,其中包括IFormatProvider作为参数,但我还不知道它.
我如何解析"0.0"?