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



我有一个程序可以替换文本文件中的一个单词,这个单词由用户通过输入text类型来替换。此更改后的单词作为可选的URL参数通过"name"下的URL传递。但是,如果用户键入任何单词,例如结尾有空格的"orange",例如"orage",页面将导致"应用程序中的服务器错误"错误,表示找不到资源(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 }
);
}

到目前为止,我所做的唯一修改是添加了名为"UrlParamater.Optional"的附加名称。

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

最新更新