在ASP.NET MVC控制器上,当你从表单中递交一个值为十进制数值的输入字段时,你有时可能会发现控制器无法捕获这个值。这是因为十进制数值被视为非原始数据类型,需要进一步处理。
解决方法之一是在视图页面中明确指定输入字段的Type属性为“text”,以指示表单值应该作为字符串传递。然后,在控制器中使用Decimal.Parse来将该值转换为十进制类型。以下是一个示例代码:
在视图中的输入字段:
在控制器中的处理方法:
public ActionResult MyActionMethod(string myDecimalField) { decimal myDecimal = Decimal.Parse(myDecimalField); // 进行其他操作,如存储到数据库 }