相关疑难解决方法(0)

Asp.Net MVC中带有千位分隔符的十进制值

我有一个自定义模型类,其中包含一个十进制成员和一个接受此类的条目的视图.一切都运行良好,直到我添加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)

asp.net-mvc decimal defaultmodelbinder

13
推荐指数
3
解决办法
1万
查看次数

float.Parse()不能按我想要的方式工作

我有一个文本文件,我用它来输入信息到我的应用程序.问题是一些值是浮点数,有时它们是空的,这就是我得到一个例外的原因.

        var s = "0.0";
        var f = float.Parse(s);
Run Code Online (Sandbox Code Playgroud)

上面的代码在第2行抛出异常"输入字符串的格式不正确."

我相信解决方案将是float.Parse的高级重载,其中包括IFormatProvider作为参数,但我还不知道它.

我如何解析"0.0"?

c#

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

decimal ×1

defaultmodelbinder ×1