1

グリッドビューの行バインド イベント内の cs ファイルで、ハイパーリンクを 1 つ作成しました。

Hyperlink hy = new Hyperlink()

特定の条件が真の場合、次のようにグリッドの 1 つの列にハイパーリンクを追加しました

e.Row.cell[2].Controls.add(hy)

正常に動作しています。onclickJavaScriptからではなく、ハイパーリンクのイベントからcsファイル関数を呼び出したいです。

hy.Attributes.Add("onclick","return display()")

しかし、これは機能していません。

4

1 に答える 1

0

「CS」は「JS」ではなく「C#」を意味すると思います。

クライアント側のスクリプトとサーバー側のアクションを混同しています。

WebForms を使用しているようです。これは、ステートレス Web をイベントとコントロールを備えた「フォーム」と人工的に混同しているため、初心者にはあまり親切ではありません。

ASP.NET サーバー コードは、着信 HTTP 要求 (一般的に言えば、GET または POST) に応答して実行されます。GET 要求は通常、ハイパーリンクまたはアドレスを入力するユーザーからの要求です。一方、投稿は常に<form>提出物からのものです。

C# コードが特定のリクエストに応答して呼び出されるように、プロジェクトをセットアップする必要があります。Web フォームでは、デフォルトでリクエストが*.aspxファイルにマップされるため、これは簡単ではありません。IHttpHandlerあなたがする最も簡単なことは、着信リクエストを処理するためにコードが直接呼び出されるときの実装です。

この記事を読むことをお勧めします。これは、問題を自分で解決できるようにするのに役立ちます: http://www.codeproject.com/Articles/335968/Implementing-HTTPHandler-and-HTTPModule-in-ASP-NET

また、WebForms を避け、ASP.NET MVC に直接移行することもお勧めします。

于 2013-02-14T08:32:37.543 に答える