OK、何時間も試行錯誤を繰り返していて、助けが必要な場合があります。 「戻る」ボタンと「次へ」ボタンがあるMVC 3でページを実装しようとしています。 [戻る]ボタンをクリックすると、クライアント側のMVC検証の実行を無効にして、アクションメソッドが実行され、ユーザーが前の論理Webページに送信されるようにします。私はこれを試しました:
<script type="text/javascript">
document.getElementById("backButton").disableValidation = true;
</script>
この:
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." disableValidation="true" />
しかし、何があろうと、クライアント側の検証JavaScriptが起動し、ボタンにポストバックを行わせません。 disableValidation
はおそらくMVC 2でのみ機能すると考えており、MVC 3で別のことをすることになっていますが、例を見つけることはできません。
どこかに質問を投稿するとすぐに答えが明らかになるこの神秘的な力は何ですか?
MVC 3では、クラスに「キャンセル」を追加することで、ボタンのクライアント側検証を無効にしているようです。だから私の例では:
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." class="cancel" />
よく働く。また、ID属性も必要ありません。ボタンに実際のスタイルクラスがある場合は、次のようにします。
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." class="style-name cancel" />
検証スクリプトは、送信タイプinput
にリンクされているようです。 cancel
をボタンに変更すると、検証はスキップされます。
<button type="button" onclick="document.location.href('Index')">Cancel</button>