2011-10-29 15 views
10

Questo problema è simile a quanto descritto in Execute Javascript inside a partial view in ASP.NET MVCJavascript non funziona in Vista parziale

Il pezzo di sotto del codice nella index.cshtml sta lavorando bene ...


<label for="locationOfSearch"> in :</label> @Html.TextBox("locationOfSearch") 

<input type="submit" value="Search" style="background-color:Green"/> 

@section JavaScript { 
    <script type="text/javascript"> 
     $(document).ready(function() { 


      $("#locationOfSearch").autocomplete({ 
       source: '@Url.Action("AutocompleteAsyncLocations")' 
      }) 



     }); 
    </script> 
} 

Ma quando copio e incollo il codice sopra e i rispettivi file di script in un'altra vista e poi in index.cshtml se chiamo Html.Partial (nuovo nome vista), il completamento automatico non funziona ...

Gentilmente vorrei sapere come ho risolto senza troppe modifiche ...

+0

provare a chiamare in questo modo ... Html.RenderPartial (nuovo nome vista); –

+0

hai controllato più inclusione di jquery i.e in vista parziale e in 'index.cshtml'? hai anche degli errori nel firebug? – Rafay

risposta

24

Non è possibile utilizzare le sezioni in vista parziale. Semplicemente non funzionano. Quindi devi mantenere il @section JavaScript nella vista per registrare gli script e quindi rendere il partial che conterrà solo il markup. È anche possibile scrivere metodi di supporto personalizzati per ottenere ciò, come mostrato in this answer.

+1

cosa succede se uso semplici tag

+1

@Darin Dimitrov Ho usato solo in vista parziale che non funziona anche. C'è un modo per farlo funzionare? –

1

come quello che so, vista parziale bisogno di avere il riferimento di tutti gli script anche se già riferimento nella pagina master/layout. Quello che ho sempre fatto è creare una vista parziale (_Scripts.cshtml) e inserire tutti gli script + il riferimento al foglio di stile. Io poi chiamo questa vista parziale ad ogni vista:

@Html.Partial("_Scripts") 

Spero che questo è ciò che si vuole, grazie :)

+0

Ho provato Html.RenderPartial; Stesso numero Non c'è più inclusione di file ... Sono alreday la stessa cosa raccontata dall'utente834754 .. Ancora ho un problema !!! –

Problemi correlati