我有以下 HTML:
<input type="image" src="/Images/actions/Delete.gif" alt="Delete" title="Delete" name="action" value="Delete"/>
在我的控制器中,我有以下自定义属性
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MultiButtonAttribute : ActionNameSelectorAttribute
{
public string MatchFormKey { get; set; }
public string MatchFormValue { get; set; }
public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
{
return controllerContext.HttpContext.Request[MatchFormKey] != null &&
controllerContext.HttpContext.Request[MatchFormKey] == MatchFormValue;
}
}
单击删除时应调用以下操作方法
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "Delete")]
public ActionResult Delete(MessageModel model)
{
return Content("Delete clicked");
}
这与 Chrome 完美配合,但是当在 Firefox 中单击提交按钮时,我的操作方法 Delete() 不会被调用。
任何想法我做错了什么?