有人能解释一下为什么对以下操作进行POST调用是不明确的吗?它们有不同的参数集合?
[RequireRequestValueAttribute("setID")]
public ActionResult Add(int setID){}
[HttpPost]
public ActionResult Add(TypeModel model, int? queueID) {}
当使用RequireRequestValueAttribute属性时才会出现此问题,我正在使用它是因为我想为不同参数集添加另一个Get调用方法。
以下是我正在使用的实现,在另一个stackoverflow问题中找到:
public class RequireRequestValueAttribute : ActionMethodSelectorAttribute
{
public RequireRequestValueAttribute(string valueName)
{
ValueName = valueName;
}
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
return (controllerContext.HttpContext.Request[ValueName] != null);
}
public string ValueName { get; private set; }
}