2

我的 webapp 上有 2 个页面。Login.aspx 和 Main.aspx。

成功登录用户名和密码后,我从 login.aspx 重定向到 Main.aspx,如下面的 c# 所示。这在 Visual Studio 2010 中运行良好。问题是当我部署我的网站时,值 localhost 没有意义。

我可以确定网站正在运行的服务器名称,还是应该以某种方式将服务器重定向主页链接放在我的 web.config 文件中?

谢谢达摩

string Redirectport = HttpContext.Current.Request.ServerVariables["SERVER_PORT"];
RedirectURL = "http://localhost:" + Redirectport + System.Web.HttpContext.Current.Response.ApplyAppPathModifier("~/Main.aspx");
4

4 回答 4

9

怎么样

RedirectURL = Page.ResolveUrl("~/Main.aspx")?

这是执行此操作的“默认”方式。

于 2012-10-11T20:54:02.903 回答
1

您可以使用服务器变量 SERVER_NAME

string serverName = HttpContext.Current.Request.ServerVariables["SERVER_NAME"]
RedirectURL = "http://" + serverName + ":" + Redirectport + 
    System.Web.HttpContext.Current.Response.ApplyAppPathModifier("~/Main.aspx");
于 2012-10-11T20:41:56.830 回答
1

我的建议是将服务器名称放在web.config文件中并将其加载到Global.asaxApplication_Start 事件下的文件中

web.config文件中:

<appSettings>
    <add key="Domain" value="yourdomain" />
</appSettings>

Global.asax文件中:

protected void Application_Start(object sender, EventArgs e)
{
    try
    {
        SomeStaticGlobalClass.Domain = System.Configuration.ConfigurationManager.AppSettings["Domain"];
    }
    catch { }
}
于 2012-10-11T20:42:01.720 回答
0

如果你想导航到一些内部网页,你可以使用类似下面的东西

Response.Redirect("~/Default.aspx");

您也可以使用它导航到其他服务器

Response.Redirect("https://www.google.com/");
于 2020-07-16T07:47:02.833 回答