J'ai tout un tas de ces erreurs sur mon fichier View aspx.ASP.NET MVC Erreur: "Name '__o' n'est pas déclaré."
Mais, Il construit et fonctionne très bien.
De quoi s'agit-il? Comment puis-je me débarrasser d'eux?
J'ai tout un tas de ces erreurs sur mon fichier View aspx.ASP.NET MVC Erreur: "Name '__o' n'est pas déclaré."
Mais, Il construit et fonctionne très bien.
De quoi s'agit-il? Comment puis-je me débarrasser d'eux?
Mikhail Arkhipov a publié 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.
C'est ce que j'aime SO ... J'apprends quelque chose de nouveau chaque jour. –