下面的代码接受表单中的文本并将其插入table.i希望它添加到表中并在显示消息“已添加数据”后重定向到同一页面。但问题是它被重定向到目标页面但没有显示message.im猜测那是因为cmd.ExecuteQuery();正在生成响应并正在重定向......
但我想让它显示消息。 我应该做些什么改变。提前谢谢
protected void Button2_Click(object sender, EventArgs e)
{
string v = System.Configuration.ConfigurationManager.ConnectionStrings["harish"].ConnectionString;
con = new OracleConnection(v);
con.Open();
string query="insert into leave_module1 values(:name,:desig,:srno,:tol,:compdates,:fd,:td,:nod,:remarks)";
OracleCommand cmd = new OracleCommand(query, con);
//OracleCommand.BindByName = true;
try
{
cmd.Parameters.Add(":name", OracleType.VarChar, 50).Value = DropDownList2.Text;
cmd.Parameters.Add(":desig", OracleType.VarChar, 30).Value = TextBox10.Text;
cmd.Parameters.Add(":srno", OracleType.Number, 8).Value = TextBox8.Text;
cmd.Parameters.Add(":tol", OracleType.VarChar, 10).Value = DropDownList1.Text;
cmd.Parameters.Add(":compdates", OracleType.VarChar, 30).Value = TextBox9.Text;
cmd.Parameters.Add(":fd", OracleType.DateTime).Value = TextBox3.Text;
cmd.Parameters.Add(":td", OracleType.DateTime).Value = TextBox4.Text;
cmd.Parameters.Add(":nod", OracleType.Number, 3).Value = TextBox5.Text;
cmd.Parameters.Add(":remarks", OracleType.VarChar, 50).Value = TextBox7.Text;
cmd.ExecuteNonQuery();
ClientScript.RegisterStartupScript(Page.GetType(), "validation",
"<script language='javascript'>alert('The Data has been added')</script>");
Response.Redirect("Default2.aspx");
}
catch
{
Label13.Visible = true;
}
con.Close();
}
答案 0 :(得分:2)
Default2.aspx
,它不会包含JS代码
我建议你将一个参数(可能使用QueryString)传递给Default2.aspx
页面,该页面将显示该消息。
我不建议您使用Alert
来显示消息。您最好在页面上使用div或使用JQuery插件来显示消息
答案 1 :(得分:0)
尝试将以下内容更改为javascript。
ClientScript.RegisterStartupScript(Page.GetType(), "validation",
"<script language='javascript'>alert('The Data has been added')</script>");
到这个
ClientScript.RegisterStartupScript(Page.GetType(), "validation",
"<script language='javascript'>alert('The Data has been added');window.location="Default2.aspx" </script>");
并删除代码中的以下内容
Response.Redirect("Default2.aspx");
答案 2 :(得分:0)
如果您希望用户看到该页面上的消息,您需要在插入数据后允许该页面可见,而不是立即重定向。而不是使用服务器端Response.Redirect,您将需要使用Javascript(客户端代码)几秒后重定向。在Javascript中使用setTimeout()
实现延迟。
答案 3 :(得分:0)
不要使用Response.Redirect。
只需使用javascript:
ClientScript.RegisterStartupScript(Page.GetType(), "validation",
"<script language='javascript'>alert('The Data has been added'); window.location='default2.aspx';</script>");
答案 4 :(得分:0)
我通过使用Session对象而不是JavaScript做了类似的事情。也许这个想法会对你有帮助。
我在母版页中创建了一个消息变量,在像你这样的情况下我会
在您的情况下,面板可以有一个OK或CLOSE按钮,或者您可以使用Ajax Control Toolkit中的其他对象。