私は次の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() が呼び出されません。
私が間違っていることは何ですか?