我正在尝试一个简单的路由,我的global.asax如下所示
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
registerroutes(RouteTable.Routes);
}
public static void registerroutes(RouteCollection routecollection)
{
routecollection.MapPageRoute("home","home/","~/home.aspx");
}
我的主页
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Response.Redirect(ResolveUrl("~/home/"));
}
}
但不是没有正确重定向不知道我错在哪里
答案 0 :(得分:0)
您使用的是Microsoft Friendly URL Nuget包吗? (如果没有,我强烈建议)
如果您使用它,可以避免在主页中使用重定向 -
你需要在App_Code中创建一个RouteConfig.CS> App_Start然后添加以下代码(确保你使用的是System.Web.Routing和Microsoft.AspNet.FriendlyUrls
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.MapPageRoute("", "", "~/default.aspx");
}
然后在global.asax中添加
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteConfig.RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}
这应该可以在主页上不需要任何重定向的情况下工作。
答案 1 :(得分:0)
请删除ResolveUrl,因为它不打算在这里使用,它只用于解析view / aspx代码中的脚本和资源文件。
的Response.Redirect( “〜/家”);
还有一件事,要注意C#编码标准,功能名称应该是pascal的情况: RegisterRoutes而不是registerroutes
另外,请确保您的home.aspx页面有一个物理文件放在您网站的根目录下。
如果它还没有消失,我们需要知道你得到了什么样的错误以及你如何运行你的应用程序?使用IIS快递?还是IIS服务器?还是经典的开发服务器?