如何解决按钮按下后不显示数据
开发工具与关键技术:VS, ASP.NET MVC
作者:谭威
撰写时间:2019年4月5日
下面我教大家如何去寻找错误,下面我们来看一个例子,表格的数据已经初始化出来,但不论按组合查询或者是题干的搜索都会呈现无数据,接下来看一下具体情况:
可以很明显看到我输入题干部分的内容,表格就会呈现无数据,就连组合查询任意选择后也同样是如此,控制台也没有报错。遇到这种情况无需慌张,我们可以看到是搜索和组合查询出错,而这两个按钮的共同点就是题干和题目部分(这两个中文不一样,但其实所对应的代码却都是stem),所以很大可能就是题干所对应的stem出现了错误,接下来就让我们来先从搜索的按钮看看它到底在那里出错了:
从上面两图中可以看到我一开始就断了点,把鼠标放在Stem上,其内容也能获取到,如上图所示,我们在往下走:
从上面两图我们可以看到前面一个Stem还多余出A.B.C.D等字符,所以此等式为false,所以根本就无解,然后我们对照老师的后,正解如下:
就这样题干部分的搜索按钮的错误我们就解决了:
接下就该解决组合查询的问题了,我们任意选择并填入题干部分,也能出现数据,但如果不填入题干部分的话,这里首先断点出来的Stem始终为零:
从上图我们可以知道任意选择后但不填入题干,一旦进入该控制台后,该Stem就始终为零,那么显然不是控制台出错了,那么我们在运行界面的控制台断点看看问题到底出在哪里,也许你会问都是控制台,有什么不同的?其实不然,在Visual Studio 2015中我们只能断控制台的代码,而浏览器的控制器(也就是运行界面的控制台)却能断Visual Studio 2015的视图的代码,也许你会问视图里面代码这么多,这怎么找?虽然视图代码很多,但我们有不需要全部都需要出找,我们只需要能控制组合查询的代码部分就行了:
从上面两图中我们可以看到我没填入题干部分,而断点出来的Stem也等于“”,然后从253行的断点可以看到到Stem等于“”或者等于undefined时,Stem=0,所以这就造成不填写题干时,进入Visual Studio 2015的控制台时的Stem始终都是0,这里应该改成:
if (stem == undefined)
{
stem = “”;
}
这样无论是按组合查询还是题干的搜索按钮都能出现数据了。