【发布时间】:2011-08-23 08:51:01
【问题描述】:
我有 2 个使用从 ActionMethodSelectorAttribute 继承的自定义 IsWWWAttribute 属性的操作,尝试调用 post 方法时出现以下错误:
System.Reflection.AmbiguousMatchException 当前对控制器类型“AccountsController”的操作“forgotpassword”请求在以下操作方法之间不明确: System.Web.Mvc.ActionResult ForgotPassword() on type .Controllers.AccountsController System.Web.Mvc.ActionResult ForgotPassword(.Models. ForgotPasswordModel) 类型为 .Controllers.AccountsController
[IsWWW]
public ActionResult ForgotPassword()
{
// SOME CODE
}
[HttpPost]
[IsWWW]
public ActionResult ForgotPassword(ForgotPasswordModel model)
{
// SOME CODE
}
自定义属性:
public class IsWWWAttribute : ActionMethodSelectorAttribute
{
public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
{
return Configuration.Subdomain.SubDomainID == 0;
}
}
如果我删除 [IsWWW],那么调用 post 操作就可以了!
我在这里错过了什么!
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 razor attributes