0

我在开始时使用 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”传输工作出色,但失败它停留在我的 pagenotfound 上,而不是传输到目标 url。我还检查是否写了整个网址,例如http://mysite.com/en/test.aspx?k=13它也可以工作,但是当 server.transfer 失败时

谁能说为什么?

谢谢

4

1 回答 1

0

我认为 Response.Redirect 适用于您的网站“www.mysite.com/en/home”

它不会像 Server.Transfer 那样高效,但应该也能正常工作。我不确定为什么它适用于“tr/”,而不是“en/”,这可能是由于相对路径的一些问题。您可以尝试在您的 URL 前添加一个波浪号“~”。

      Server.Transfer("~/en/" + dt.Rows[0]["SourceURL"].ToString());
于 2012-09-20T14:14:15.687 回答