注册 登录
编程论坛 ASP.NET技术论坛

[求助]自定义错误页码出现乱码

重在参与 发布于 2007-08-08 10:34, 764 次点击

我的错误页叫ErrorPage.aspx
在HTML里的代码如下:
<body>
<form id="form1" runat="server">
<div>
<a><b>错误页:</b>&nbsp;&nbsp;</a>
<a><font color=red><%=Request["ErrorUrl"] %></font></a>
<a><b>错误信息:</b></a>
<a><font color=red><%=Request["ErrorMsg"] %></font></a>
<asp:Button ID="BackBtn" runat="server" OnClick="BackBtn_Click" Text="返回" /></div>
</form>
</body>
--------------------------------------------------------------------------
在CS里的代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["BackURL"] = Request.UrlReferrer.ToString();
}
}
protected void BackBtn_Click(object sender, EventArgs e)
{
Response.Redirect(ViewState["BackURL"].ToString());
}
------------------------------------------------------------------------------------------

出现错误要跳转的代码是:Response.Redirect("/ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());
一出错跳转过去就是乱码,为什么呢

4 回复
#2
冰彩虹2007-08-08 11:03
用URL传参数ex.Message,最好是先Server.UrlEncode编码处理下

另外,页面出现乱码通常也是设置页面编码方式的问题
#3
sean882007-08-08 11:10
这个问题,好像看过了,也测试过了,没有出现乱码~~~~不知道你所写Response.Redirect("/ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());的红色反斜杠用意是根目录吗?
#4
重在参与2007-08-08 11:54
对啊,是根目录
#5
sean882007-08-08 13:15
以下是引用重在参与在2007-8-8 11:54:59的发言:
对啊,是根目录

那你写Response.Redirect("/ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());这句话的页面和ErrorPage.aspx页面是否在同一个目录下?还是不同目录?

如果是同目录就是:Response.Redirect("ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());

否则就是上一级目录:Response.Redirect("../ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());

1