2010-04-18 3 views
6

Sto sviluppando un'applicazione Web ASP.NET 4. Quando ho messo un controllo Menu nel modulo web, il menu fa sì che il seguente codice per generare subito prima del tag di chiusura </form>:Il controllo del menu generato js causa l'eccezione Sys non definita nei Web Form

<script type='text/javascript'> 
     new Sys.WebForms.Menu({ element: 'NavigationMenu', disappearAfter: 500, 
       orientation: 'horizontal', tabIndex: 0, disabled: false }); 

Finché io non uso riscrittura degli URL, la pagina si compila e carichi correttamente . Quando provo a utilizzare la funzione di riscrittura degli URL sul sito Web, Visual Studio inizia a generare l'eccezione JavaScript "Sys isdefined".

Tuttavia, questo non accade sempre. Il più delle volte succede quando cambio qualche cosa nel posizionamento correlato nel file CSS, ma a volte le eccezioni sembrano arbitrarie.

Come può essere risolto?

+0

Le eccezioni si sono verificate per me quando l'utente aleggiava voci di menu non di collegamento. Vedi la mia correzione qui sotto. –

risposta

5
RouteTable.Routes.Ignore("{resource}.axd"); 
5

impostazioni degli attributi RenderingMode del menu "Tabella" risolto questo problema per me, anche se io uso un adattatore Menu per il rendering del controllo con le liste.

<asp:Menu ID="mnuStuff" runat="server" RenderingMode="Table"> 
    ... 
</asp:Menu> 

Se non è necessario per sfruttare asp 4,0 nuovi miglioramenti css è possibile disattivare l'iniezione di che new Sys.WebForms.Menu del tutto con la seguente impostazione nel web.config.

<system.web> 
    <pages controlRenderingCompatibilityVersion="3.5"/> 
</system.web> 

Ciò elimina il rendering di JavaScript inline che asp inietta nella base della pagina.

0

so la domanda è vecchia, ma questo può aiutare un po 'di versare l'anima ... ;-)

sono riuscito a risolvere il problema spostando alla fine della pagina script jQuery correlati. Non ho speso molto tempo per indagare sul perché, ma sembra che sia chiaramente un conflitto di nomi javascript tra javascript-resource-file (WebResource/*. Axd) e jquery (1.10 al momento della stesura di questo).

Problemi correlati