最离谱的来了,在代码基本清空的情况下居然也能报input=null,已经试过清缓存或重新编译
值不能为 null。
参数名: input
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentNullException: 值不能为 null。
参数名: input
源错误:
[没有相关的源行]
源文件: D:\vs\project\自查剧本\web\handler\search.ashx.cs 行: 18
堆栈跟踪:
[ArgumentNullException: 值不能为 null。
参数名: input]
System.Text.RegularExpressions.Regex.IsMatch(String input) +6780315
web.handler.search.ProcessRequest(HttpContext context) in D:\vs\project\自查剧本\web\handler\search.ashx.cs:18
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +195
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +50
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +73
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.4494.0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
空指针这么明显
[ArgumentNullException: 值不能为 null。
参数名: input] 这个参数为空了。贴全你的代码看看
string input = context.Request.Params["input"].ToString();
前后2个input分别是什么?
string input = context.Request.Params["input"].ToString() ;
ToString() 之前要保证有 input 这个参数 ,没有这个参数 值为 null
,null执行 toString() 就会报错
正确的写法
string input = context.Request.Params["input"] ? .context.Request.Params["input"] ToString() : "" ;
```c#
代码甩出来,分分钟的事,小老弟呢
检查一下是不是字母拼错了
ToString()空引用,input值不为null就不会了