我有一个Ajax调用是:为什么我的ajax调用(返回json)没有获得小数属性?
$(document).ready(function() {
$("a").click(function (event) {
$.ajax({
url: '/',
type: 'POST',
data: JSON.stringify({ Name: 'foo', Price: 5.0 }),
contentType: 'application/json',
dataType: 'json',
success: function (data) { alert(data); }
});
event.preventDefault();
});
});
这里是我的视图模型。
public class ProductViewModel
{
[Required, StringLength(60)]
public string Name { get; set; }
[Required, Range(0, 100000)]
public decimal Price { get; set; }
}
当我发送呼叫......只有“富”是在对视图模型P,但不是价格。
[HttpPost]
public JsonResult Index(ProductViewModel p)
{
var rslt = "success";
return Json(rslt);
}
我现在用的是
ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());
任何想法?
这是一个验证器,不幸的是,这与我对不起的问题无关。 – Rushino 2012-02-06 01:07:05
你有没有想过尝试这个解决方案?你可以带马去水。但你不能喝它! – 2012-02-06 05:56:59
我试过不用担心。 :)但正如我所说的问题是无关的验证,我很确定。问题是默认模型绑定器中的一个错误,它将decimal看作int。 – Rushino 2012-02-06 13:55:01