属性をLinkButton
持つ ASP.NET コントロールが HTML でイベント ハンドラーをレンダリングしないのに、設定によって無効にされるのはなぜですか?OnClientClick
Enabled="false"
onclick
Button
直感に反するようです。ブラウザでアンカーを実際に無効にすることはできないため、サーバー側で無効に設定されている場合は、onclick イベント (および href 属性) を添付しない方が理にかなっています。
属性をLinkButton
持つ ASP.NET コントロールが HTML でイベント ハンドラーをレンダリングしないのに、設定によって無効にされるのはなぜですか?OnClientClick
Enabled="false"
onclick
Button
直感に反するようです。ブラウザでアンカーを実際に無効にすることはできないため、サーバー側で無効に設定されている場合は、onclick イベント (および href 属性) を添付しない方が理にかなっています。
まあ、それはあまり役に立たないことに同意しますが、asp.netに組み込まれている多くのメソッドの1つでリンクボタンのレンダリング方法を変更しない限り、それについてできることは何もありません。クライアント側のコードで条件付きでクリックを処理し、要素の属性を確認したくない場合を除きます。これは現在実装されている方法であるため、無効にできるボタンの機能が必要な場合は、リンクボタンまたはアンカーから完全に離れることが最善です。
これは、asp.net とはほとんど関係ありません。
ハイパーリンク ボタンは、無効になっていても onclick イベントを発生させます。結論: HTML に焼き付けられます。(入力タグは、無効にすると起動しません。)
<a href="javascript:alert('Hello!');" disabled="disabled">Click Me!</a>