asp.net mvc 控制器中操作方法重载问题 解决

Controllers:
public ActionResult Index()
{
return View(db.GuestBooks.ToList());
}

//
// GET: /Guest2/
[HttpPost]
public ActionResult Index(string UserName)
{
ViewData.Model = UserName;
return View();
}


//
// GET: /Guest2/
[HttpPost]
public ActionResult Index(GuestBookInfo gInfo)
{
ViewData.Model = gInfo;
return View();
}

view:


<form method="post">
<div>
<ul>
<li>ID:</li>
<li><input type="text" id="txtName" name="ID" /></li>
<li>名称:</li>
<li><input type="text" id="txtName" name="Name" /></li>
<li>Type:</li>
<li><input type="checkbox" id="txtType" name="Type" />是否共享</li>
<li>Email:</li>
<li><input type="text" id="txtEmail" name="Email" /></li>
<li>ISBN:</li>
<li><input type="text" id="txtISBN" name="ISBN" /></li>
<li>日期:</li>
<li><input type="text" id="txtDatetime" name="Datetime" /></li>
<li><p>你输入的信息为:@Model</p></li>
<li><input type="submit" id="btnsubmit" value="提交" /></li>
</ul>
</div>
</form>

点击提交访问后,报错:

对控制器类型“Guest2Controller”的操作“index”的当前请求在下列操作方法之间不明确: 
类型 Mvc4Study.Controllers.Guest2Controller 的 System.Web.Mvc.ActionResult Index(System.String)
类型 Mvc4Study.Controllers.Guest2Controller 的 System.Web.Mvc.ActionResult Index(Mvc4Study.Models.GuestBookInfo)

解决方法:

修改操作名称

 [ActionName("info")]

public ActionResult Index(GuestBookInfo gInfo)

原文地址:https://www.cnblogs.com/shouwu/p/3716234.html