【牛腩】二义性与具有相同类型的成员一起来找茬

来源:互联网 发布:华为校招的算法工程师 编辑:程序博客网 时间:2024/06/05 12:49

背景:


      在敲牛腩的时候,看着视频老师怎么做,我就怎么做,看着老师复制了一个ASPX文件(ASPX文件是一种Web文件,它是网站的网页源文件,里面全是代码。这种文件是由微软的ASP.NET语言开发出来的。)我也就复制了一个,但是并没有看见老师出现错误,而我这里倒是出现了不少问题,先来两张图:


  



        当时凭着自己的经验就改呀改,感觉这个在VB中太常见了,就没太在意,但是怎么改都改不好,后来就想是不是命名空间的问题啊,如果两个命名空间不同的话,即使是重名的话也是没有问题的,后来通过查资料发现,和自己猜的差不多,当时查资料也是似懂非懂的,后来通过机智的思考解决了这个问题。


 首先情境后顾一下:


    因为添加新闻和删除新闻大体的功能是一样的,所以就只需要把aspx文件复制一下,改改标题,改改click事件就可以了,当时以为很简单呢。后来发现我错了。下面是添加新闻的大体界面


 


 所以就复制一下添加新闻的aspx文件。如下图




复制出来重命名为modnews.aspx 重新生成解决方案就会出现最开始的错误:


 如何解决呢?


首先我们应该明白今天用visual studio 2013开发网站,重新生成的时候,编译程序的时候出现“当前上下文中不存在名称xxx”的问题,但实现页面是存在这些控件的,造成这种原因的根本原因在于,当你建一个新文件xxx.aspx时对应的就在xxx.aspx.cs中自动生成一个类,为了方便,将现成的文件来拷贝改名成***.aspx,在***.aspx.cs 中的类名此时却没有发生改变,这时会出现两个不同的.aspx文件有一个相同的类代码,只要一方发生改变,另一个当然就会出错了告诉你“当前上下文中不存在名称XXX”

 

1、打开复制出来的addnews.aspx




    把两个addnews改成modnews。


2、打开此aspx文件下的aspx.cs文件,把addnews改成modnews,如图:




这样问题就完美的解决了


总结:方法总比困难多,不管遇到什么问题,都最好去查一查,解决问题不是目的,要刨根问底。




1 0
原创粉丝点击