一个很普通的Asp.net2.0的页面,有一个提交按钮,点击提交按钮时会检查各个TextBox控件是否为空白,若为空白会提示用户输入信息,若不为空白则将信息存入数据库并跳转至别的页面。提示信息我用的是最普通的代码,如:Response.Write("<script language=javascript>alert('" + TxtMessage + "')</script>"); 而跳转调用的函数是:
public void ShowAndRedirect(System.Web.UI.Page page, string msg, string url)
{
StringBuilder Builder = new StringBuilder();
Builder.Append("<script language='javascript' defer>");
Builder.AppendFormat("alert('{0}');", msg);
Builder.AppendFormat("location.href='{0}'", url);
Builder.Append("</script>");
page.RegisterStartupScript("message", Builder.ToString());
}
如果不加入Ajax代码的话一切正常,既可以正常弹出提示框,也可以正常实现页面的跳转。但为了去掉屏幕的闪烁弊病,通过查看书本知道需要把前台的相关代码用Ajax代码包裹起来,我在页面的前台代码中加入了Ajax代码(除了要加入<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>之外),如:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate >
<table .....>
......
......
</table>
</ContentTemplate>
</asp:UpdatePanel>运行结果是屏幕倒是不闪烁了,但该弹出信息框都没有了,跳转也无法实现了,请问这是怎么回事?应该如何修改才能使页面正常工作?谢谢!
public void ShowAndRedirect(System.Web.UI.Page page, string msg, string url)
{
StringBuilder Builder = new StringBuilder();
Builder.Append("<script language='javascript' defer>");
Builder.AppendFormat("alert('{0}');", msg);
Builder.AppendFormat("location.href='{0}'", url);
Builder.Append("</script>");
page.RegisterStartupScript("message", Builder.ToString());
}
如果不加入Ajax代码的话一切正常,既可以正常弹出提示框,也可以正常实现页面的跳转。但为了去掉屏幕的闪烁弊病,通过查看书本知道需要把前台的相关代码用Ajax代码包裹起来,我在页面的前台代码中加入了Ajax代码(除了要加入<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>之外),如:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate >
<table .....>
......
......
</table>
</ContentTemplate>
</asp:UpdatePanel>运行结果是屏幕倒是不闪烁了,但该弹出信息框都没有了,跳转也无法实现了,请问这是怎么回事?应该如何修改才能使页面正常工作?谢谢!
解决方案 »
- Excel导入到SQL Server时,科学记数法的问题,求教!急!!!
- 框架Viewfrm传值是乱码
- 想实现这样一个小功能~各位给个意见~
- 网页上的tab控件是如何做的
- 不用写DataList之类的控件,就可以在页面生成数据列表是如何实现的呢
- VS2010 VS2012水晶报表问题
- 紧急求一个存储过程
- 奇怪的问题!!!localhost用不了!!!!!!!!!!!11
- 急问:asp移植到.net上,aspx.cs中的session,如何在asp的语法中调用到。还是根本不可能?按说微软的兼容性应该做到。
- 用asp.net的mail对象发信没有成功!那位试过???
- asp.net消息提示音的播放
- 关于网站虚拟目录配置文件求救
Response.Write(" <script language=javascript>alert('地址不能为空白!') </script>");
应该如何处理?
protected void LinkButtonSubmit_Init(object sender, EventArgs e)
{
ScriptManager1.RegisterPostBackControl((Control)sender); }
protected void LinkButtonSubmit_Init(object sender, EventArgs e)
{
ScriptManager1.RegisterPostBackControl((Control)sender);
}
加入您给的代码的确恢复了原有的功能,但不知这样做的话Ajax还起不起作用了?
中间那个message就是你要输出的HTML代码
用这个可以在UpdatePanel里输出HTML代码
谢谢了!不过不知怎的用了你的代码后Css好像不起作用了。
<head runat="server">
<title>车辆 -- 报修申请</title>
<link href="Admin_Style.css" rel="stylesheet" type="text/css" />
</head>
运行后刚进页面字体字型都好好的,可如果弹出一个提示信息框(比如未输入信息)并点击确定按钮后,页面的字型就变了(大了),好像css不起作用了。难道那个代码会影响到css吗?
ClientScriptManager CSMC = Page.ClientScript;
string ScriptNameC = "clientScript";
if (!CSMC.IsClientScriptBlockRegistered(ScriptNameC))
{
CSMC.RegisterStartupScript(this.GetType(), ScriptNameC, "<script>alert('"+你的变量+"');</script>");
}