首页 新闻 搜索 专区 学院

未声明名称“__o”

0
悬赏园豆:50 [已解决问题] 解决于 2010-03-04 09:42

在asp.net页面中,使用

<%=Html.Encode("Abcd")%>

VS2008会提示未声明名称“__o”

改为

<% Response.Write(Html.Encode("Abcd"))%>

即可。

请问:为什么会这样?有没有办法避免?

系统环境:Win7+VS2008+Asp.Net Mvc 1
页面环境:Asp.Net VB.Net

yexuan的主页 yexuan | 初学一级 | 园豆:32
提问于:2010-03-04 04:14
< >
分享
最佳答案
0

好像网上有人说重新 clean 一下 再  build 就好了。还有人说是VB 编译器的bug

http://forums.asp.net/t/1384577.aspx

http://stephenwalther.com/blog/archive/2008/09/04/asp-net-mvc-application-building-family-video-website-3-play-videos-with-silverlight.aspx

还有人指出在 页面的 头部加一句

<%="" %> 就可以解决,见下面链接

http://forums.asp.net/t/923745.aspx

你都试试吧

 

收获园豆:50
eaglet | 专家六级 |园豆:17119 | 2010-03-04 07:40
用<%="" %>即可 我知道为什么了。
yexuan | 园豆:32 (初学一级) | 2010-03-04 09:56
其他回答(4)
0

这应该上是编译器,eaglet的clean-rebuild应该是可行的。

另外,有时候,我们只需要关闭该页面,再重新在vs环境中打开就OK了,或者重新打开该解决方案。原理和clean-build是类似的,是IDE编译器不能识别所致。

邀月 | 园豆:25375 (高人七级) | 2010-03-04 08:18
0

再补充一句,有时也需要重启一下计算机,重启计算机的前提是先按照上面说的 clean-rebuild(右键工程名选择清理,清理成功后选择重新生成,也可以从菜单栏选择 生成然后选择相关的操作即可)。因为我出现过类似问题,没办法重启机器后总算可以用。所以你可以试下...

西越泽 | 园豆:10689 (专家六级) | 2010-03-04 08:48
0

据说是vb得bug!!

重新 clean 一下 再  build,看看是否ok!

eaglet给的连接地址(http://forums.asp.net/t/1384577.aspx)很好,跟你得错误是一样,里面有解决方案!

langford | 园豆:710 (小虾三级) | 2010-03-04 09:06
0

方法1、执行clean然后重新build

方法2、关闭vs,重新打开对应的项目即可。

风影极光 | 园豆:1573 (小虾三级) | 2010-03-04 09:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册