0

我有这个问题,我似乎无法弄清楚。我正在向我的控制器发布数据。控制器声明如下所示:

public ActionResult Create(string Title, string Description, string Payment, string Adress, string ZIP, float Longitude, float Latitude)

使用 Fiddler,发布的数据看起来像这样

Fiddler 发布的数据

发布时收到此错误消息:

参数字典包含null方法“System.Web.Mvc.ActionResult Create(System.String, System.String, System.String, System.String, System) 的不可为空类型“System.Single”的参数“Longitude”的条目'GjortWebRole.Controllers.MyController' 中的 .String、Single、Single)'。可选参数必须是引用类型、可空类型或声明为可选参数。参数名称:参数

4

2 回答 2

2

正如在这个问题中提到的,MVC 没有ModelBinder开箱即用的 for 浮点数。如果您希望操作接受浮动参数,则必须创建自己的。

于 2012-04-22T14:39:00.650 回答
0

如参数表所示,您按照经度(浮点)参数的顺序发送城市值(字符串)。尝试在经度参数之前将城市参数添加到您的操作方法中。

public ActionResult Create(string Title, string Description, string Payment, string Adress, string ZIP,string City, float Longitude, float Latitude)

更新

根据您的评论,Create方法声明应如下

[HttpPost]
public ActionResult Create(FormCollection myform)
{
   String Title = myform["Title"];//title is the name of html tag
   Strign ZIP = myform["ZIP"];//ZIP is the name of html tag
   .
   .
   .
}
于 2012-04-22T14:04:45.740 回答