如果路由参数末尾有空格,我的页面返回404?

问题描述 投票:2回答:1

我有一个程序,可以替换文本文件中的一个单词,这个单词是由用户通过输入文本类型来替换的。这个被替换的单词通过URL的'name'作为一个可选的Url Parameter传递给用户。但是,如果用户输入任何一个单词,例如'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.Option"。

asp.net asp.net-mvc asp.net-mvc-4
1个回答
0
投票

我认为你输入的URL的部分有错误.我自己检查了一下,它没有任何问题。一定要检查,看看你输入的URL是否正确。你可以创建一个新的方法,自己测试一下。

© www.soinside.com 2019 - 2024. All rights reserved.