【问题标题】:If route parameter has a space at the end, my page returns 404?如果路由参数末尾有空格,我的页面返回404?
【发布时间】:2020-08-11 03:01:46
【问题描述】:

我有一个替换文本文件中的单词的程序,该单词由用户通过输入文本类型来替换。此更改后的单词作为可选的 URL 参数通过“名称”下的 URL 传递。但是,如果用户要输入任何单词,例如 'orange' 末尾有一个空格,例如 'orange' ,页面将导致“Server Error in '/' Application”错误,说明找不到资源(404),为什么会发生这种情况,我可以做些什么来防止这个错误?

以下是我当前的路线配置:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}/{name}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, name = UrlParameter.Optional }
    );
}

到目前为止,我所做的唯一更改是添加了名为 name 的附加“UrlParamater.Optional”。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    我认为您输入的网址部分存在错误。 我自己检查了这个,它没有任何问题。请务必检查并查看您输入的 URL 是否正确。您可以创建一个新方法并在上面进行测试。

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 2012-11-15
      • 2020-12-10
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多