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

我建议您首先尝试确定您期望的代码是否正在返回到页面。

有几种方法可以做到这一点,最简单的方法是在上面的代码运行后在页面上“查看源代码”。如果您能在页面中找到该内容,您将知道该内容正在返回到页面但未执行。

如果您在查看源代码时看不到内容,那么您遇到了不同的问题。要么控制被传递到另一个页面,要么它实际上并没有进入您期望的 if 条件。

一旦您了解了这两个部分的问题所在,您就可以开始查找可能导致问题的原因。

很明显,您可能并不完全了解 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);
            }

...看来您希望服务器上的页面执行停止,然后等待客户端响应。这不是网页生命周期的工作方式。服务器代码将完全执行并将内容发送回客户端。它不像 Windows 窗体或控制台应用程序那样是一个交互式过程(即使使用 AJAX)。

于 2012-08-09T16:25:41.060 回答
0

AJAX 充其量是有问题的,特别是如果您像我们一样使用 VS 2003。使用 VS2008 或更新版本的 Dev Suite 可能会更好。所以我们切换到弹出窗口的模式对话框。它是使用 JavaScript 完成的。我们使用了一些旧开发网站上的 subModal 示例。迫不及待地想摆脱 VS2003 和 VB.Net。呸!

于 2012-08-28T19:45:26.833 回答
-2

我建议你给你Modal Pop扩展器(Ajax工具)而不是使用MessageBox. 因为asp.net不包含MessageBox.

于 2012-08-08T14:10:45.640 回答