0

このコードは Chrome では問題なく動作しますが、Firefox では動作しません。タグを削除すると、<button>Firefox で動作します。

Firefox でこれを機能させるためにできることはありますか?

<button>
     @Html.ActionLink("Continue","Index","AlternateName")
</button> 
4

3 に答える 3

1

いいえ、<a>は無効<button>です。HTML 仕様によると、これは無効なマークアップです。そして、壊れたマークアップを書くと、未定義の動作しか得られず、さらにユーザーエージェント間で異なる可能性があります.ちなみに、これはあなたが観察しているものです.

したがって、これを機能させるには、マークアップを修正するだけです。もちろん、独自のブラウザーを作成しない限り、ブラウザーが無効なものを正しく解釈することを期待することはできません。

あなたのシナリオはわかりませんが、このボタンからアンカーを削除する必要があると思います。生成されたマークアップを制御できない場合 (たとえば、この無効なマークアップを吐き出すサードパーティのコンポーネントを使用しているなど)、最後の手段として、javascript/jquery を使用して、DOM が作成された後に操作してアンカーを移動できます。このボタンから外して、壊れたものになってしまわないようにします。

于 2012-07-02T16:52:59.100 に答える
0

mvc の Hyperlink タグ内に Button を追加し、Controller メソッドとアクション メソッドを記述します。

パラメータを渡す場合:

于 2016-02-22T13:46:24.217 に答える
0

ボタン タグでアクション リンクをラップし、スタイル シートでボタン タグをフォーマットする代わりに、このように actionLink に css クラスを追加しました。

@Html.ActionLink("Add Address", "Create", "Address", null, new { @class = "actionLinkBut​​ton" })

于 2012-07-02T19:50:17.403 に答える