我有两种方法,不同的是http动词:
public class ProductImageController : Controller
{
[HttpGet]
public ViewResult Create(int productId)
{
return View(productId);
}
[HttpPost]
public ViewResult Create(int productId)
{
}
}
但获取错误:
已经使用相同的参数类型
定义了一个名为“Create”的成员
答案 0 :(得分:24)
在同一范围内不能有多个具有相同签名的方法,例如相同的返回类型和参数类型。
编辑 - 看起来你需要使用它:Related question
public class ProductImageController : Controller
{
[HttpGet]
public ViewResult Create(int productId)
{
return View(productId);
}
[HttpPost]
[ActionName("Create")]
public ViewResult CreatePost(int productId)
{
//return a View() somewhere in here
}
}
答案 1 :(得分:3)
更改后面的操作方法:
[HttpPost]
public ViewResult Create(FormCollection formValues)
{
var productId = formValues["productId"];
}
OR
[HttpPost]
public ViewResult Create(int productId, FormCollection formValues)
{
//still using productId, formValues is just an additional parameter
//that doesn't need to be implemented.
}