public ActionResult Index()
{
Queries q1 = new Queries();
return View(q1);
}
public ActionResult Index(string id)
{
Queries q1 = new Queries(id);
return View(q1);
}
public ActionResult Select(string id)
{
return RedirectToAction("Index",id);
}
出了什么问题......
它说: 控制器类型'CompanyController'上的当前操作请求'Index'在以下操作方法之间不明确: System.Web.Mvc.ActionResult类型为LookUpForm.Controllers.CompanyController的索引() LookUpForm.Controllers.CompanyController类型的System.Web.Mvc.ActionResult索引(System.String)
由于动作索引没有参数而其他参数有字符串参数,我认为它必须有效。
答案 0 :(得分:1)
即使采用不同的参数,也不能在同一控制器上使用相同的名称执行2个操作。消除歧义的唯一方法是使用不同的HTTP动词:
public ActionResult Index()
{
Queries q1 = new Queries();
return View(q1);
}
[HttpPost]
public ActionResult Index(string id)
{
Queries q1 = new Queries(id);
return View(q1);
}
或者如果需要使用GET动词访问这两个动作,您必须找到不同的名称或写一个custom action selector。
答案 1 :(得分:0)
只有当他们的httpmethods不同,即HttpGet或HttpPost
时,才能让动作超载