我想在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();
}
答案 0 :(得分:0)
我建议你首先尝试弄清楚你期望的代码是否会返回到页面。
有几种方法可以做到这一点,最简单的方法是在上面的代码运行后在页面上显示“查看源代码”。如果您可以在页面中找到该内容,您将知道该内容正在返回到该页面但未执行。
如果您在查看来源时没有看到内容,那么您会遇到其他问题。控制权被传递到另一个页面,或者它实际上没有进入你期望的if条件。
一旦您了解问题源自这两个部分,您就可以开始找到可能导致问题的原因。
您可能还不完全了解网络的运作方式。鉴于这组代码......
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);
}
...您似乎希望服务器上的页面执行停止,然后等待客户端响应。这不是网页生命周期的工作方式。服务器代码将完全执行并将内容发送回客户端。它不是一个交互式过程(即使使用AJAX),如Windows窗体或控制台应用程序。
答案 1 :(得分:0)
AJAX充其量是个问题,特别是如果你像我们一样使用VS 2003。使用VS2008或更新版本的Dev Suite可能会更好。所以我们切换到弹出窗口的模态对话框。它是使用JavaScript完成的。我们使用了一些较旧的开发站点上的subModal示例。迫不及待想摆脱VS2003和VB.Net。呸!
答案 2 :(得分:-2)
我建议您Modal Pop
扩展程序(Ajax
工具),而不是MessageBox
。
因为asp.net
不包含MessageBox
。