繁体   English   中英

当我尝试进行路由时,我在ASP.NET Web窗体中收到解析错误

[英]When I try to do routing I get a parse error in ASP.NET Web Forms

我发布了该网站并将其上传到FTP(ASP.NET Web窗体C#)。

我在项目中使用路由,这是我的路由页面的代码(我只写1):

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}
public void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("HomePage", "HomePage", "~/Views/Default.aspx");
}

我的文件夹和页面如下:

在此处输入图片说明

Views文件夹外部的Default.aspx页的代码:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Redirect("/Views/");
}

当我尝试输入mywebsite.com并输入网站时,出现以下错误:

在此处输入图片说明

但是,当我尝试输入mywebsite.com/HomePage时,它可以工作。 当我直接输入站点名称时,我想转到主页。 我在哪里犯错?

我忘了补充:它正在本地btw上运行。 但不适用于FTP。

您的路由配置不正确。 主页URL设置为HomePage而不是空字符串( /HomePage )。

routes.MapPageRoute("HomePage", "HomePage", "~/Views/Default.aspx");

将其更改为( / ):

routes.MapPageRoute("HomePage", "", "~/Views/Default.aspx");

另外, 删除 “ Views文件夹之外的Default.aspx页面”。 这将与您的路由冲突,并且(甚至更糟)它将导致HTTP 302重定向到您的主页。 从请求返回的HTTP 302重定向告诉用户的浏览器向您的服务器发出第二个请求 ,这对性能和SEO均不利。

鉴于您的/HomePage URL正常运行,上述更改应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM