を動作していませんobject sender
とEventArgs e
を持たないように関数を変更してからPage_Load
から呼び出すことができます。正常に動作し、警告が表示されます。JavaScriptがonclickの私がボタンを持っているWebページ(ASP.NET C#)を持っている
私はボタンをクリックすると警告が表示されると予想していますが、それは起こっていません。私はそれが明らかなものだと確信していますが、私はそれを見ません。
を動作していませんobject sender
とEventArgs e
を持たないように関数を変更してからPage_Load
から呼び出すことができます。正常に動作し、警告が表示されます。JavaScriptがonclickの私がボタンを持っているWebページ(ASP.NET C#)を持っている
私はボタンをクリックすると警告が表示されると予想していますが、それは起こっていません。私はそれが明らかなものだと確信していますが、私はそれを見ません。
あなたはこのJavaScriptコードを登録するコードを削除し、代わりに行うことができますサーバー側コード(ポストバック)を実行します。
素晴らしいです、ありがとうございます! – Deverill
OnClick
の代わりにOnClientClick
を使用してください。そして、ページにポストバックを避けるためにreturn false
を追加してください。
<asp:Button ID="btnHide" runat="server" OnClientClick="alert('Hello'); return false;" Text="Hide"/>
サーバー側では多くの手順が必要です。これを行うと、onclickがないとjsがクリックイベントを処理した後にサーバースクリプトを実行することができますか? – Deverill
OnClick backを追加し、OnClickメソッドにサーバーサイドコードを追加するだけです。ただし、OnClientClickにアラートを残して、falseを返すようにして、ページのポストバックを行い、サーバー側のコードを実行します。これによりアラートポップアップが作成され、[OK]をクリックするとページがポストバックされ、サーバー側が実行されます。 –
あなたは、 ClientScript.RegisterClientScriptBlock(メソッドGetType()、 "nameOfScript"、scriptString)を使用して試みることができます。
クリックイベントの前に使用しました。
編集: まだ投稿を編集できませんが、あなたのコードは私にとってもうまく機能します。
状況に応じて、彼はclickイベントでサーバサイドのものをやってみたり、スクリプトを動的にビルドすることもできます。
編集: すでに同じ名前のスクリプトを登録している場合、そのスクリプトは実行されません。 、
UseSubmitBehavior="false"
はボタンがクライアント側のスクリプトを起動するようになります:この
<asp:Button ID="btnHide" runat="server"
OnClick="HidePanel" Text="Hide" OnClientClick="alert('Hello');"
UseSubmitBehavior="false" />
:
Page.ClientScript.RegisterStartupScript(this.GetType(), "Hello", "<script type=text/javascript> var i = 0;</script>");
Page.ClientScript.RegisterStartupScript(this.GetType(), "Hello", "<script type=text/javascript> alert('other hello') </script>");
なぜOnClientClickを使用しないのですか? –
コードが正常に動作します。 – Asdfg
私はOnClickを使用しています。なぜなら、私たちが使っているサードパーティの予約システムとの接続や現在のセッションをチェックするなど、もっと多くのことが起こるからです。 – Deverill