0

WebアプリケーションJavascriptでアラートを作成したい。asp.netしかし、私はこれを作成することはできません。部分的なコードをここに投稿します。スクリプトマネージャーのjavascriptアラートが表示されません。javascriptアラートを表示するのを手伝ってください。

if (noofday > totalday)
{   

    // I want to display the confirm message box in this section   

    ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "return confirm('Are you sure you want to delete');", true);
    if(true)
    {
        DataSet5TableAdapters.sp_inleaverequestTableAdapter TA = new DataSet5TableAdapters.sp_inleaverequestTableAdapter();
        TA.GetData(lbl_empcode.Text, lbl_empname.Text, lbl_dept.Text, txtfromdate.Text, txttodate.Text, Convert.ToString(noofday), ddlleavetype.SelectedItem.Text, Convert.ToString(totalday), txtreason.Text, ddlforward.SelectedItem.Text, " ", " ", " ", " ", lbl_date.Text);

        Send_Email(lbl_empcode.Text, lbl_empname.Text, txtfromdate.Text, txttodate.Text, noofday, ddlleavetype.SelectedItem.Text, txtreason.Text);
        clear();
        ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Request sent successfully. Go and watch your status..');</script>", false);
    }
    else
    {   
        //DO Something
    }
}
else
{
    DataSet5TableAdapters.sp_inleaverequestTableAdapter TA = new DataSet5TableAdapters.sp_inleaverequestTableAdapter();
    TA.GetData(lbl_empcode.Text, lbl_empname.Text, lbl_dept.Text, txtfromdate.Text, txttodate.Text, Convert.ToString(noofday), ddlleavetype.SelectedItem.Text, Convert.ToString(totalday), txtreason.Text, ddlforward.SelectedItem.Text, " ", " ", " ", " ", lbl_date.Text);

    Send_Email(lbl_empcode.Text, lbl_empname.Text, txtfromdate.Text, txttodate.Text, noofday, ddlleavetype.SelectedItem.Text, txtreason.Text);

    ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Request sent successfully. Go and watch your status..');</script>", false);
    clear();
}
4

3 に答える 3

0

特に、私たちのように VS 2003 を使用している場合は、AJAX には問題があります。おそらく、VS2008 以降のバージョンの Dev Suite の方が良いでしょう。そこで、ポップアップのモーダル ダイアログに切り替えました。JavaScriptを使用して行われました。一部の古い開発サイトにある subModal の例を使用しました。VS2003 と VB.Net を取り除くのが待ちきれません。うん!

于 2012-08-28T19:45:26.833 に答える
0

最初に、期待するコードがページに返されているかどうかを確認することをお勧めします。

これを行う方法はいくつかありますが、最も簡単なのは、上記のコードを実行した後にページで「ソースを表示」することです。ページでそのコンテンツを見つけることができれば、そのコンテンツがページに返されているが実行されていないことがわかります。

ソースを表示してもコンテンツが表示されない場合は、別の問題があります。コントロールが別のページに渡されているか、実際には期待する if 条件に進んでいません。

問題がこれら 2 つの部分のどこに起因するかを理解したら、その原因を突き止めることができます。

また、Web の仕組みを完全には理解していない可能性があることも多少明らかです。この一連のコードを考えると....

       ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "return confirm('Are you sure you want to delete');", true);
            if(true)
            {
                DataSet5TableAdapters.sp_inleaverequestTableAdapter TA = new DataSet5TableAdapters.sp_inleaverequestTableAdapter();
                TA.GetData(lbl_empcode.Text, lbl_empname.Text, lbl_dept.Text, txtfromdate.Text, txttodate.Text, Convert.ToString(noofday), ddlleavetype.SelectedItem.Text, Convert.ToString(totalday), txtreason.Text, ddlforward.SelectedItem.Text, " ", " ", " ", " ", lbl_date.Text);

                Send_Email(lbl_empcode.Text, lbl_empname.Text, txtfromdate.Text, txttodate.Text, noofday, ddlleavetype.SelectedItem.Text, txtreason.Text);
                clear();
                ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Request sent successfully. Go and watch your status..');</script>", false);
            }

... サーバーでのページの実行が停止し、クライアントが応答するのを待っているようです。これは、Web ページのライフサイクルがどのように機能するかではありません。サーバー コードは完全に実行され、コンテンツをクライアントに送り返します。Windows フォームやコンソール アプリケーションのようなインタラクティブなプロセスではありません (AJAX を使用しても)。

于 2012-08-09T16:25:41.060 に答える
-2

Modal Popを使用する代わりに、エクステンダー (Ajaxツール) を使用することをお勧めしますMessageBoxasp.net含まれていないためMessageBox

于 2012-08-08T14:10:45.640 に答える