我想允许输入字段的多种输入格式。在我的情况下,它是一个经度字段。在数据库中,我将它设置为十进制(18,10)。它期望得到一个逗号分隔值,例如16,2345678但Google地图或某些用户正在使用点16.2345678 我不想返回一个错误,但只是很高兴,并将其转换为预期的数据库格式。asp.net mvc:允许输入字段的多种输入格式
我试图做到这一点在我的元数据验证类(使用实体框架)
public partial class Job
/*[Bind(Exclude = "ID")]*/
public class JobMetaData
{
public object Longitude
{
get { return this.Longitude; }
set { this.Longitude = value; /* Seems that this point isnt reached*/ }
}
,但不幸的是二传手不叫和ViewState.isValid返回根本就是假的。
[HttpPost]
public ActionResult Edit(Job model)
{
// parse the long-lat if needed here??
try
{
if (!ModelState.IsValid)
{
我应该在哪里尝试解析值以允许两个值(逗号分隔和点分隔)转换它们并使其安全。
我对另一个字段有同样的问题:我希望用户输入4或4€,以防止删除€-sign并将其保存为数字。
感谢您的帮助。
您搞定;设置;看起来像递归到我 – Omu 2011-02-25 20:03:12
似乎。但我很确定。它是一个部分类,在这个部分类的“其他部分”中,还有一个带有get/set(EntityFramework类)的属性Longitude。看来这个get/set并没有被实际调用,所以我不能做任何预处理。 – LukeSolar 2011-02-27 19:06:44