繁体   English   中英

response.write不能正常运行asp.net

[英]response.write is not working asp.net

在插入数据后按钮单击事件我想显示数据插入成功的消息。 这是我的代码

if (com2.ExecuteNonQuery() >= 1)
        {
            Response.Write("<script LANGUAGE='JavaScript' >alert('Request Submitted Successfully!')</script>");
        }
        else
        {
            Response.Write("<script LANGUAGE='JavaScript' >alert('There is some error. Please enter again')</script>");
        }

它工作正常,直到我在上面的代码后不久插入相同的事件后为空文本框放置代码。 这是代码

foreach (var control in this.Controls)
        {
            TextBox tb = control as TextBox;
            if (tb != null)
            {
                tb.Text = string.Empty;
            }
        }
        Response.Redirect("Default.aspx"); 

现在文本框在数据插入后为空,数据也插入但没有显示弹出消息。 哪里有问题

我不是100%肯定你的逻辑,但不是让服务器执行重定向,而是在调用alert之后在客户端执行:

if (com2.ExecuteNonQuery() >= 1) {
    Response.Write("<script LANGUAGE='JavaScript' >alert('Request Submitted Successfully!');window.location='Default.aspx';</script>");
} else {
    Response.Write("<script LANGUAGE='JavaScript' >alert('There is some error. Please enter again');window.location='Default.aspx';</script>");
}

您的Response.Redirect("Default.aspx")在服务器级别运行,因此您永远不会给客户端提供渲染javascript的机会,因此您将永远不会看到您的Response.Write输出的内容。

你为什么没有一个<asp:Label>控件来显示你正在寻找的消息。

因此,您可以执行以下操作,而不是javascript消息:

tb.Text = String.Empty; //clear the textbox
label.Text = "Success Message.";  //show the message

自从我使用WebForms以来已经有一段时间了,但是如果你启用了Viewstate,这应该可行。 您可能还想查看UpdatePanels。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM