当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET MVC错误:"名称'__'未声明."

如何解决《ASP.NETMVC错误:"名称'__'未声明."》经验,为你挑选了1个好方法。

我的View aspx文件中有很多这些错误.

但是,它构建并运行得很好.

这些是什么?我怎么摆脱他们?



1> Zack Peterso..:

Mikhail Arkhipov 在ASP.NET论坛中发布了解释和解决方法:

我们终于获得了可靠的复制品并确定了潜在的问题.一个琐碎的repro看起来像这样:

<% if (true) { %>
    <%=1%>
<% } %>
<%=2%>

为了在设计时在<%=%>块中提供intellisense,ASP.NET生成对临时__o变量和语言(VB或C#)的赋值,然后为变量提供intellisense.当页面编译器看到第一个<%= ...%>块时,就会这样做.但是在这里,块在if中,所以在if关闭之后,变量超出了范围.我们最终生成这样的东西:

if (true) { 
    object @__o;
    @__o = 1;
}
@__o = 2;

解决方法是在页面的早期添加虚拟表达式.例如<%=""%>.这不会呈现任何内容,并且它将确保在任何可能的'if'(或其他作用域)语句之前,在Render方法中将__o声明为顶级.


这就是我喜欢的东西......我每天都学到新东西.
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有