牛腩新闻发布系统——验证码不显示的解决方案

一、前言:

       牛腩系统新闻发布系统已经接近尾声啦,回头看看自己似乎还没有分享关于牛腩新闻发布系统的博客,今天我就在这里简单介绍一下验证码不显示的解决方案。


二、探索解决方案:

       我明明完全按照牛腩老师的步骤做的啊,可是为什么我的验证码一直加载不出来,总是显示下面的样纸,不知小伙伴你有没有遇到这个问题呢?

                                                  

         难道是路径的问题?第一个想法在我的心头略过,因为之前出现的好多问题都是文件的路径不正确。开始用firebug调试显示“载入指定URL失败”。看到这样的提示似乎进一步验证了我的想法,好,那就修改一下文件的路径把。

                                  牛腩新闻发布系统——验证码不显示的解决方案_第1张图片

尝试一:         

<span style="font-size:18px;"><span style="font-size:18px;">       <img src="handler/WaterMark.ashx" id="vimg" alt=""onclick="changeCode()" />  </span></span>
尝试二、

<span style="font-size:18px;"><span style="font-size:18px;"><img src="../handler/WaterMark.ashx" id="vimg" alt=""onclick="changeCode()" />   </span></span>
尝试三、

<span style="font-size:18px;"><span style="font-size:18px;"><img src="~/handler/WaterMark.ashx" id="vimg" alt=""onclick="changeCode()" />    </span></span>

        关于路径的相关问题大家可以去查相关资料,再次不再赘述,那么问题来了,三种方式均以失败告终,接下来将何去何从?


三、换一个思路:

       我们常说要善于站在巨人的肩膀上,于是就向已经完成牛腩系统的小伙伴请教,可是请教了3个小伙伴都说自己没有遇到这个问题,捣鼓了一会同样以失败告终。

       好,既然此路行不通,那么只好换一种思路。于是开始仔细研究源码。 打开WaterMark.ashx文件。

                      牛腩新闻发布系统——验证码不显示的解决方案_第2张图片

         对照自己敲的WaterMark.ashx文件。

        咦,最少面的表头(<%@ WebHandler  Language="C#"  Class="WaterMark" %>)什么时候被我注释掉啦?

突然想起来了,当时有表头的时候,会出现20种错误。而把表头那一块去掉之后,则什么错误也没有。对比这两张图即可发现。

牛腩新闻发布系统——验证码不显示的解决方案_第3张图片

        天无绝人之路,正当我为这种奇葩问题百思不得其解的时候,一个小小的细节 被我发现啦。源码中只有一个WaterMark.ashx文件。而自己所敲的系统却有两个文件。一个ASHX文件,一个CS文件。

                   

                     

        为什么会这样?估计是版本的问题,于是新建了一个一般应用程序,打开代码如下所示。

牛腩新闻发布系统——验证码不显示的解决方案_第4张图片      

        接下来找到自己所敲系统一般应用程序的文件夹,打开Handler1.ashx。如下图所示。居然是这样,这个文件里面只有这一行代码。而其他的代码都在Handler1.ashx.cs文件中。

          

                 牛腩新闻发布系统——验证码不显示的解决方案_第5张图片          

 

四、答案水落石出:     

        原来是由于版本的原因,我所使用的版本(VS2012)将表头和代码分别当到了两个文件中 。案件终于有了眉目,于是将此段代码:<%@ WebHandler  Language="C#"  Class="WaterMark" %>复制到WaterMark.ashx文件下。重新运行,申请的验证码终于出现啦,好兴奋~~~

                                       


五、小小感悟:

        不知小伙伴们有没有和我一样遇到同样的问题呢?解决方法虽然异常简单,也仅仅是一个小小的错误,但往往就是因为这样 一下小小的错误导致项目运行出错。程序员的工作是一个细活,遇到问题不能心烦意乱,应该不骄不躁,沉住气,甚至应该心中窃喜,因为上帝是如此爱你,又给了你一次成长的机会。。。

                    



你可能感兴趣的:(牛腩新闻发布系统——验证码不显示的解决方案)