7

asp:LinkButtonリンクのように見えますが、サーバー側のクリックハンドラーもあるので、を使用したいと思います。

しかし、Webサーバーは、クライアントでjavascriptが無効になっているかどうかを検出できないようであり、引き続き機能するメカニズムにレンダリングされません。

リンクのように見えるが、サーバー側のOnClickイベントハンドラーを持つリンクを持つことは可能ですか?


答え

答えはノーですが、以下はいくつかの回避策のアイデアです。賛成票がゼロ以外のものを受け入れました。

4

5 に答える 5

7

CSSを使用してボタンのスタイルを設定し、リンクのように見せることもできますが、CSSの実装によっては、これはブラウザーに大きく依存します。


編集:それが受け入れられたので、私は私の答えを完成させなければならないと感じています。

asp:LinkButtonレンダリングはHTMLリンクにレンダリングされるため、Webページに投稿することはできませんただし、 getリクエストのみを行うことができます。このMSを回避するには、JavaScriptを使用して投稿を処理します。ただし、Javascriptが無効になっている場合、これは不可能です。

asp:Buttonasp:ImageButtonは異なります。彼らは、真のHTMLフォーム要素を使用してWebページに投稿する(またはフォーム属性に応じて取得する)ことによってHTMLフォームを送信します。したがって、これらはJSの介入なしで機能します。

一部のブラウザでは、CSSスタイルでボタンをリンクのようにスタイル設定できるため、これを使用して問題を回避できます。

于 2009-01-26T16:59:55.757 に答える
2

ただのアイデア:

入力ボタンをレンダリングし、javascript を使用してリンクに変更します。このボタンは、javascript が有効になっていないブラウザでも機能し、javascript を使用している場合はリンクになります。

于 2009-01-26T17:07:13.637 に答える
2

ASP.Net でこのようなものを使用すると、通常、JavaScript で隠されている「アクセス可能なコントロール」と共にコントロールをレンダリングします。したがって、この場合、LinkBut​​ton (デフォルトではスタイルによって非表示) と通常のボタンをレンダリングし、ボタンを非表示にして LinkBut​​ton を表示するようにいくつかの JavaScript を登録します。

これは、JavaScript を使用しないとうまく動作しない ASP.Net コントロールの非常に一般的な回避策です。または、Javascript を使用せずに「自動ポストバック」が必要な場合に使用します。

于 2009-01-26T17:12:32.330 に答える
0

リンクのように見える INPUT タイプはありません。リンクを使用して Web ページで INPUT タイプのアクティビティを実行する場合は、現在表示している同じページに移動する必要があります。

リンクでクエリ文字列変数を渡し、それに応答することができます。ポストバックとまったく同じように動作するわけではなく、現在表示しているページに移動するだけです。

于 2009-01-26T17:11:01.927 に答える