Jquery 在MVC中post之前删除文本框外的屏蔽值

Jquery 在MVC中post之前删除文本框外的屏蔽值,jquery,.net,model-view-controller,masking,Jquery,.net,Model View Controller,Masking,因此,我希望解决我发现的一个非常特殊的问题。基本上,我在MicrosoftMVC中有具有十进制字段的模型。我将在视图中显示这些字段,并在这些字段上加上包括逗号(以数百分隔的货币值)的遮罩。本质上,问题是我需要显示逗号版本并允许用户编辑它们,但当我将值发布回服务器时,我需要去掉逗号。我研究了一系列选项,包括jquery autonumeric插件(它有一个返回未格式化值的get方法,但不确定如何将值返回到post上的模型中),以及在将逗号值提交回服务器之前通过jquery剥离逗号值(但我了解到,这

因此,我希望解决我发现的一个非常特殊的问题。基本上,我在MicrosoftMVC中有具有十进制字段的模型。我将在视图中显示这些字段,并在这些字段上加上包括逗号(以数百分隔的货币值)的遮罩。本质上,问题是我需要显示逗号版本并允许用户编辑它们,但当我将值发布回服务器时,我需要去掉逗号。我研究了一系列选项,包括jquery autonumeric插件(它有一个返回未格式化值的get方法,但不确定如何将值返回到post上的模型中),以及在将逗号值提交回服务器之前通过jquery剥离逗号值(但我了解到,这并不总是有保证的,因为有时候在jquery完成之前,可以将值发回。因此,下面是我为提供一些上下文所做的:

我的实际模型类与此类似,只是每个类大约有50个字段,而不是一个字段:

public class classtest
{
    public decimal v { get; set; }
}
我在控制器中没有做什么特别的事情,我有一个方法将模型传递给视图,然后是另一个post方法,该方法将模型作为参数,我在其中使用该模型保存回数据库

@model MvcApplication1.Models.classtest

@{
    ViewBag.Title = "Index";
}

@using (Html.BeginForm("Index", "Test", FormMethod.Post))
{
    @Html.TextBoxFor(t => t.v, new { @class = "money" })
    <input type="submit" name="submit" value="Submit" />
}
@model mvcapapplication1.Models.classtest
@{
ViewBag.Title=“Index”;
}
@使用(Html.BeginForm(“Index”,“Test”,FormMethod.Post))
{
@TextBoxFor(t=>t.v,new{@class=“money”})
}

如果您有任何建议,我们将不胜感激。

我认为您可以使用自定义模型绑定来处理将字符串转换回十进制的问题。我不能说我已经设置好了一个,但这里有另一个关于它的内容,以及一篇让它听起来非常简单的博客文章

简而言之,您似乎创建了一个实现IModelBinder的类。然后使用ModelBinders.binders.add(…)在Application_Start()中将该类添加到模型绑定中。

您所说的“值可以在jquery完成之前回发”是什么意思?您是否也可以粘贴您的jury代码?