我用StringBuilder拼接了一段html代码,然后用Response.Write(sb.ToString());
本意是想完成一个操作后在新的页面上显示成功或失败信息的,可是操作后却没反应,没看到有新的页面。
我看别人的代码不是用StringBuilder拼接,却成功,满奇怪的。
请教一下。
本意是想完成一个操作后在新的页面上显示成功或失败信息的,可是操作后却没反应,没看到有新的页面。
我看别人的代码不是用StringBuilder拼接,却成功,满奇怪的。
请教一下。
解决方案 »
- asp.net水晶报表分类汇总问题
- AsyncFileUpload 异步传输控件,如果控制上传文件类型,和大小,最好有实例的!
- SQL代理作业的问题
- 求: asp.net 2.0 中文视频教程 下载地址.
- iso-8859-1编码的XML文档解析时乱码该怎么解决
- 自主开发的WEB即时通讯工具,大家帮忙测试一下。http://www.biho.com.cn
- 首页调用的js是怎么实现的?
- Server.MapPath("")或Server.MapPath(".")得出的路径出错,什么原因?..
- 求助:页面刷新和重定向
- 在分帧的HTML页面中如何超连接到aspx页面呢?
- 前台绑定 两张表
- 求asp.net中如何实现定时功能?
Response.Write完了后记得Response.End一下
我是
Response.clear();
Response.Write(sb.ToString());
Response.End();
builder.Append("<head>");
....
builder.Append("</body>");
builder.Append("</html>");writer.Write(builder.ToString());
sb.ToString是正常的html代码,不过没输出在新的页面上。
StringBuilder builder = new StringBuilder(); builder.Append(" <html>");
builder.Append(" <head>");
....
builder.Append(" </body>");
builder.Append(" </html>"); Response.clear();
Response.Write(sb.ToString());
Response.End();
<% A(); %>
</div>
protected void A()
{
Response.Write("");
}
System.Web.HttpContext.Current.Response.Cookies["MessageValue"].Value = Serializable_Message(Serializable_Message(msg), true);
System.Web.HttpContext.Current.Response.Redirect(string.Format("~/manage/Messages.aspx?OPID={0}", StringHelper.RndNum(5)));
System.Web.HttpContext.Current.Response.End();我把操作提示的信息封装到一个StatusMsg类中,msg是一个实例对象,然后序列化到cookies,再进行跳转,可是页面上没有跳转到指定的页面。Messages.aspx页面代码中有反序列化提示信息,绑定到页面上的。可就是不显示。
我用firebug调试了响应头信息查看源代码
Server ASP.NET Development Server/8.0.0.0
Date Sat, 20 Mar 2010 05:08:11 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 35969
Connection Close //这里是不是出问题了?
请求头信息查看源代码
Host localhost:1042
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://localhost:1042/manage/sys/Admin_Add.aspx
Cookie MessageValue=H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In6NX/PX+DV+jf+bHvzE8xv9WvTP0+OmKZr2q7Yoi/Z6lP5kXjdFtfxsd7yD/0bpybps13X+2TJft3VWjtKX60lZTH+v/PpN9TZffrZcl+WvC5C/bQBp/LrN2nXzRXPx69J3v97i959Us+vfcPH7F9Nq+fu316ucPsIP+qjOqYPlui4T/D4r6nza/pq/DqHbgXiGV9/QO8D7N/g18e+v92vTP7/1f/F3/r3/+R/zF/2Xf8Nf/F/+SX/Ef/4n/1n/xR/1J/3nf8xf+Ov+HzTUIQjA99e/zMp1/vv//r/GrwVITJ1fD7j+ls11c/d4tiiWv/9zenecNat3v+Zv+P8AjYsnbD4BAAA=; userauth=AB00A2A2954D2F1A5D0D5309B0401A6D3E2B7322B1E34D671F5DDE35795BDE6F6AA91E1C8EB1A19122DCC4E269975FA205B150A9BF525FD80DD127E6F182F966282A2DB725EA082463A90212E3452A75; Status-MessageValue=H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In6NX/PX+DV+jf+bHvzE8+vhl3/410vpedxmkzJPm/a6zD/76KqYtfNHn97/3Q/neXExbx/tHuys3h1+lKaTqp7l9Wcf7XyUZmVxsfzso2m+bPP6o3Sal2WzyqbF8uKzj3bl71U2m/Hf9+nvMmuazz5a5E2TXeS/P/f30dFvzH3X5ts3r37/J59/dPS4nZlPmutmkRXL33+ZXRYfGfwUq3sHjNS0QseEyt5HR//Fn/rH/2d//5/3X/69f+p/8Rf8eY/vtrOj35j+rY+6Xfz+ZdG0QT/4gD5dvu0NTPvc3/nd6YVicWG+zybNopjNaBRpU08JqbZdPbp7t6ymWTmvGiLazv7e3ePV6vd/M89p2HcxjrvFgkbf3P1CyHBa11U9vijOP/Ioe/R4Uqd3zb8YRBTPo8fn1bLF6Kv6szqf6dj/iz/xT/yv/sG/6X/8+/6cx3fxPVM4fbwu5Rf+oyyOHoNidrqp6+2rOls9mtR5Rr/S34f8If5+y5++3c7K8hAQt5viB/mj3d3xfVD/6L/46//S//zP+6v+s7/rr/8v/vq/5L/8e/7B//Kv+mP/0z/oD3l8F/AJeerK9isdZ+m8zs8/+/ins8usmdbFqn00pzFV9fV4kk3fbt05/DgY2Uc0tI+O/qt/8E/7z//cv+A/+7v+mP/s7/qD/su/56/UsT2+mx39wuWkWR32/zUdfXQ8WxD/PKc+xlmzehfSzYf+X/4Nf/F/+Sf9ER5oD/3Hd4mCMhfgJyHqXWbio9/4N/x/AHUmdg1aAwAA请教!
</contenttemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button" />
</Triggers>
</asp:UpdatePanel>
加个触发器试试
Ajax可能确实不适合于你的编程习惯。
为啥说不适合我的编程习惯?我以后的工作与Ajax有关的。
虽说在页面源代码里看不到,但是firebug调试的时候响应头信息里确实有builder.ToString()后的内容。只是不知为什么没显示出来。
StatusMsg msg2 = new StatusMsg();
try
{
...略
AdminControl.InsertByTrans(model, emodel, ars);
msg2.M_Body = "添加管理员成功";
msg2.M_IconType = Icon_Type.OK;
msg2.M_Type = 1;
msg2.M_Url = "sys/Admin_List.aspx";
msg2.M_Redirect = true;
}
catch (System.Exception ex)
{
msg2.M_Body = ex.Message.Replace("\\n", "<br>");
msg2.M_IconType = Icon_Type.OK;
msg2.M_Type = 1;
msg2.M_Url = "sys/Admin_List.aspx";
msg2.M_Redirect = false;
}
PageMsg(msg2); //这句放到最后是为了避免产生"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”的异常。/// <summary>
/// 提示信息
/// </summary>
/// <param name="msg">信息提示类</param>
protected void PageMsg(StatusMsg msg)
{
EventMessage.ShowMessage(msg);
}/// <summary>
/// 提示信息
/// </summary>
/// <param name="msg">信息提示类.</param>
internal static void ShowMessage(StatusMsg msg)
{
System.Web.HttpContext.Current.Response.Cookies["MessageValue"].Value = Serializable_Message(Serializable_Message(msg), true);
System.Web.HttpContext.Current.Response.Redirect(string.Format("~/manage/Messages.aspx?OPID={0}", StringHelper.RndNum(5)));
System.Web.HttpContext.Current.Response.End();
}现在代码是这样的。我断点调试的时候,在Messages.aspx是能反序列化得到StatusMsg类的实例的。