2011-07-15 4 views
0

ボタンクリックで次のコードを実行したいが、次のコードはページを更新するときにも実行される。私はその行動を望んでいません。私を助けてください。asp.netのserversideコードを使用してアラートを表示する方法は?

string str = "Are you sure, you want to Approve this Record?"; 
this.ClientScript.RegisterStartupScript(typeof(Page), "Popup", "ConfirmApproval('" + str + "');", true); 
+0

ボタンをクリックすると、確認メッセージが最初に表示されます。そうですか? – marto

+0

はい、私はページをリフレッシュするときにしたくないです – user746909

答えて

6

あなたの質問はかなり不明です。私はここで、あなたはASP.NET用のC#を使用すると仮定方法です:

public static class ClientMessageBox 
{ 

    public static void Show(string message, Control owner) 
    { 
     Page page = (owner as Page) ?? owner.Page; 
     if (page == null) return; 

     page.ClientScript.RegisterStartupScript(owner.GetType(), 
      "ShowMessage", string.Format("<script type='text/javascript'>alert('{0}')</script>", 
      message)); 

    } 

} 

そして、あなたのページに(上記のクラスを参照することを忘れないでください):それはあなたの場合に役立ちます場合

​​

を参照してください。

+0

はい、しかし私はウェブアプリケーションではないウィンドウアプリケーションを使用しています – user746909

3

アラートをボタンのOnClientClickメソッドに入れてください。

など。ユーザーが通常のクリックのコードが実行されます[OK]をクリックするが、それらは機能をキャンセルした場合、クリックが処理されませんので、falseを返した場合

<asp:Button ID="ApproveButton" runat="server" CausesValidation="False" 
    OnClientClick="return confirm('Are you certain you want to approve this record?');" /> 

(あなたの他の必要な属性を追加し、ハンドラをクリックしてください)。

+0

ボタンクリックでうまくいきましたが、申し訳ありませんが、私はgridveiwコントロールを使用しています。グリッドビューコントロールでイベントを削除すると、確認メッセージが表示されます。 – user746909

+0

@ user746909この回答を見るhttp://stackoverflow.com/questions/2458351/custom-gridview-delete-button/2458469#2458469私はそれが同じ問題を解決すると思う – marto

1

はあなたがmarto'ssクリスWのコードを使用する必要がありますあなたのボタン

<asp:Button OnClientClick="return confirm('Are you sure, you want to Approve this Record?')" runat="server" /> 
0

OnClientClickを追加します。きれいなHTMLマークアップが必要な場合は、これを使用してください。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     string script = "javascript:return confirm('Are you certain you want to approve this record?');"; 
     //id of your button 
     button.Attributes.Add("onclick", script): 
    } 
} 
関連する問題