単純なイントラネットフォーラムの削除ボタンを作成する必要があります。投稿を削除する際に確認を求めるjavascriptアラートボックス(または同等のもの)を持っていたいと思います。しかし、コードビハインドに入るためにJavaScriptの確認ボックスの結果を得るのは難しいと感じました。これも可能ですか?あるいは別の種類のデザインを使用する必要がありますか?ASP.NETコードで作業するJavascript
答えて
ユーザーが
編集をキャンセル打つ場合は、単に起こってからのコールバックを妨げる:ジョシュStodolaは
<asp:Button runat="server" ID="Save"
OnClientClick="if (!confirm('Are you sure?')) return false;" />
を指摘したようにあなたのような何かをしたい:
<asp:button runat="server" id="mybutton"
OnClientClick="return confirm('delete?');" />
ユーザーがキャンセルをクリックした場合(confirm関数がfalseを返す場合)、clickイベントからのみ戻ります。 http://vaultofthoughts.net/OnClientClickBreaksValidation.aspx –
@Josh:私はそれを知らなかった。おそらく、私は.Netのクライアント側の検証に悩まされていないからでしょう。リンク/情報ありがとう。 – NotMe
あなたをGridViewコントロールを使用して同様のアクションを実行する方法を示す次のリンクを確認することができます。
http://www.highoncoding.com/Articles/138_GridView_Confirm_When_Delete.aspx
あなたは、さらにサポートが必要な場合、私に教えてください!
私はいつもASP.NET AJAX Control ToolkitでModalPopupを使用しているような確認ボックスのために別のデザインを使いたいと思っています。そうすればjavascriptに触れる必要はなく、モーダルポップアップのボタンをクリックすると私にポストバックが与えられるので、何が起こっているのかをもっとコントロールすることができます。
あなたはこのような何かを行うことができるはず - 彼らがそう選択した場合にのみ、バックポストを起動します:
<asp:Button ID="btnDelete" text="Delete" runat="server"
OnClick="DoDeleteFunction();"
OnClientClick="return confirm('Are you sure you want to delete?')">
</asp:Button>
は、なぜあなたは背後にあるコードに応答を送信したいですか? あなたのできることはあなたのボタンの中にあります。キャンセルするだけでポストバックはできません。基本的な考え方だ
<asp:button id="mybutton" runat="server"
onclientclick="javascript:if(!confirm('Confirm delete?')) return false;" />
:
は、次のような何かを行います。あなたが本当にそれがキャンセルされてもポストバックし、確認応答を渡す必要がある場合は、個人的に、私はASPに:フォームに非表示を追加し、JavaScriptが隠しフィールドの値を適切に設定する。
あなたは、このようなクライアント側の確認ダイアログ表示することができます。ユーザーは、はいで確認ダイアログを答える場合ポストバックにのみ実行されます
<asp:Button ID="btnDelete" runat="server"
OnClientClick="return confirm('really delete?');"
OnClick="btnDelete_Click" />
を。それ以外の場合は、ポストバックは発生せず、サーバ側ハンドラ(btnDelete_Click)は呼び出されません。
ASP.NET AJAXをご利用いただける場合はConfirmButtonExtenderをご利用ください。
通常どおり、削除ボタンのコードを後で配線します。次に、確認エクステンダを添付します。自動的に適切なJavaScriptが挿入され、ブラウザのアラートスタイルではなくblingを使用してモーダル確認が行われ、通常どおりに処理されるか、ユーザーの決定に基づいてキャンセルされます。
私はこのために標準のボタンコントロールをサブクラス化することをお勧めします。そうすれば、将来コードを再利用することができます。あなたはこれをやったら
namespace MyApp.Controls
{
public class PromptButton
{
public string Prompt { get; set; }
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (!string.IsNullOrEmpty(Prompt))
{
// Escape apostrophe's in the prompt message
string safePrompt = Prompt.Replace("'", "\'");
// Add the onClick to show the alert box when clicked
Attributes.Add("onClick", string.Format("return confirm('{0}')", safePrompt));
}
}
}
}
、あなたのASPXページの上部にあるか、web.configファイル内の参照を追加することができます:あなたのページでは
<%@ Register Assembly="MyAssembly" Namespace="MyApp.Controls" TagPrefix="app" %>
を、あなたは、次を使用したいです:
<app:PromptButton ID="PromptButton1" Prompt="Are you sure?" OnClick="PromptButton1_Click" runat="server" />
これは、表示されているダイアログボックスを確認して、ユーザーがクリック「OK」場合、ポストバックが発生するJavascriptをもたらすであろう。ユーザーが[キャンセル]をクリックすると、何も起こりません。
最初はもう少し作業がありましたが、コードはずっと再利用可能で、別のライブラリに移動して複数のプロジェクトで使用することもできます。
- 1. asp.net resxファイルで作業
- 2. javascript: 'プロパティリファレンス'で作業する方法
- 3. javascriptの.click()クロムドライバで作業
- 4. MS Project VBAコードでゼロ作業作業を削除する作業カスタムフィールドを条件として使用する
- 5. asp.netでの作業時間の処理
- 6. 私のJavaScriptの印刷コードの作業はなく、CSS
- 7. Asp.Net ListViewとAsp.Net Ajaxアップデートパネルを使って作業する
- 8. Javascript日付作業奇妙
- 9. asp.net mvcモデルで作業する方法(ポストコントローラのアップデート)
- 10. asp.netでのJavaScriptコードの再利用
- 11. Javascript:外部JSファイルで作業するよう警告する
- 12. ASP.Net MVC 3作業単位の処理
- 13. ASP.NET MVCの背景作業 - ベストプラクティス
- 14. 含めるには?私のコードで作業する
- 15. Androidで動作するJavascriptコード
- 16. Asp.netでのローカリゼーションなしのグローバリゼーション作業は可能ですか?
- 17. ASP.NET MVC:MsChartsが開発環境で作業中ですが、
- 18. Excelで作業していますか? Asp.netで?
- 19. 私はasp.netでGoogleマップのマルチマーカーで作業しています
- 20. コードでSQL Developerの作業ディレクトリを設定するには
- 21. 作業単位のパターンでコードを共有する
- 22. CoderByte配列の追加Rubyでの追加 - 作業コードと非作業コードの違い
- 23. nodejsで作業するときのJavaScriptの命名規則
- 24. JavaScript内でASP.NET 1.1コードを実行する
- 25. RxSwift:初めてのコード作業
- 26. スパーク作業者間のコード共有
- 27. javascriptで段落を手作業で並べ替える
- 28. NHibernateとASP.NET MVCとドロップダウンを使って作業する
- 29. Herokuの/杉javascriptのない作業
- 30. Javascript return true true /作業中スクリプト
これは賛否両論の回答です。 – NotMe