我一开始就使用server.transfer,它工作得很好。但是后来我在我的网站上添加了另一种语言,我试着这样做,但是用新的语言失败了
我的代码如下
if (Request.RawUrl.Contains("/tr/"))
{
Server.Transfer("tr/" + dt.Rows[0]["SourceURL"].ToString());
}
else if (Request.RawUrl.Contains("/en/"))
{
Server.Transfer("en/" + dt.Rows[0]["SourceURL"].ToString());
}"tr“传输工作很好,但是en失败了,它停留在我的页面上,没有找到,不会传输到目标url。我也像http://mysite.com/en/test.aspx?k=13一样检查写整个url,它也可以工作,但是当server.transfer它失败了。
有谁能说出原因吗?
谢谢
发布于 2012-09-20 22:14:16
我认为在你的情况下,Response.Redirect会为网站“www.mysite.com/en/home”工作
它不会像Server.Transfer那样高效,但应该可以很好地工作。我不确定为什么它与"tr/“一起工作,而不是"en/",这可能是由于相对路径的一些问题。你可以尝试在你的URL前面加上一个tilda "~“。
Server.Transfer("~/en/" + dt.Rows[0]["SourceURL"].ToString());https://stackoverflow.com/questions/12495807
复制相似问题