2012-03-15 9 views
1

私はクリックすると、レコードをデータベースに送信します。私は何をしたいのですか?そのボタンがクリックされた後、それはJavaScript関数を起動します。私が持っている問題は、レコードが挿入される前に常に発射されるということです。私はこのclientScriptに新しいとそれを登録するので、件名の私の無知を許してください。私は、RegisterClientScriptBlock、RegisterStartupScript、RegisterOnSubmitStatementを試して、望みの結果を得ていない。私のコードは以下の通りです。どんな助けも非常に高く評価されるでしょう。vb.netを使用してjavascriptを実行する

' on load 
     If (Not ClientScript.IsClientScriptBlockRegistered("alert")) Then 
      Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", 
      "alertHello()", True) 
     End If 

    'button clicked 
    Button1.Attributes.Add("onclick", " return alertHello();") 

答えて

0

System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">alert("alertHello()")</SCRIPT>") 
0

を使用してみてくださいですそれがonclickを何だから、イベントが発火しているように聞こえます。それはonclickイベントハンドラを呼び出し、イベントがキャンセルされなかった場合は、ボタンがWebFormsではサーバにポストバックするような操作を行います。確かに、の後にレコードをまで挿入することはできません。

ボタンをクリックしたときにページ全体が更新された場合は、の新しいページをjavascriptで実行する必要があります。 @Gage's answerはこれを行う方法を示しています。これはボタン付きのページにないことを覚えておいてください。ボタンをクリックした後に表示されるページにあります。

また、ajaxを使用してレコードを追加するリクエストを送信すると、ページが更新されません。代わりに、ajaxリクエストを作成し、ajaxリクエストが完了したときに実行されるjavascriptルーチンであるコールバックを設定します。このSOスレッドは、これ以上のことに役立ちます:Using jQuery for AJAX with ASP.NET Webforms

関連する問題