Tengo un montón de estos errores en mi archivo View aspx.ASP.NET MVC Error: "Nombre '__o' no está declarado."
Pero, se desarrolla y funciona muy bien.
¿Qué son? ¿Cómo me deshago de ellos?
Tengo un montón de estos errores en mi archivo View aspx.ASP.NET MVC Error: "Nombre '__o' no está declarado."
Pero, se desarrolla y funciona muy bien.
¿Qué son? ¿Cómo me deshago de ellos?
Mikhail Arjipov anotaron un explanation and workaround in the ASP.NET forums:
We have finally obtained reliable repro and identified the underlying issue. A trivial repro looks like this:
<% if (true) { %> <%=1%> <% } %> <%=2%>
In order to provide intellisense in <%= %> blocks at design time, ASP.NET generates assignment to a temporary __o variable and language (VB or C#) then provide the intellisense for the variable. That is done when page compiler sees the first <%= ... %> block. But here, the block is inside the if, so after the if closes, the variable goes out of scope. We end up generating something like this:
if (true) { object @__o; @__o = 1; } @__o = 2;
The workaround is to add a dummy expression early in the page. E.g. <%="" %>. This will not render anything, and it will make sure that __o is declared top level in the Render method, before any potential ‘if’ (or other scoping) statement.
Esto es lo que me gusta de SO ... aprendo algo nuevo cada día. –