2011-10-29 151 views
10

Este problema es similar al que se describe en Execute Javascript inside a partial view in ASP.NET MVCJavascript no funciona en Vista parcial

La pieza que está debajo de código en index.cshtml está trabajando muy bien ...


<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> 
} 

Pero cuando puedo copiar y pegar el código anterior y los respectivos archivos de comandos a otra vista y luego en index.cshtml si llamo Html.Partial (nuevo nombre de la vista), autocompletar no está funcionando ...

Por favor, hágamelo saber cómo lo resuelvo sin mucha modificación ...

+0

intente llamar así ... Html.RenderPartial (new view name); –

+0

ha marcado la inclusión múltiple de jquery i.e en vista parcial y en 'index.cshtml'? ¿También obtienes algún error en el firebug? – Rafay

Respuesta

24

no puede utilizar las secciones en las vistas parciales. Simplemente no funcionan. Por lo tanto, deberá mantener el @section JavaScript en la vista para registrar los scripts y luego representar el parcial que contendrá solo el marcado. También puede escribir métodos de ayuda personalizados para lograr esto, como se muestra en this answer.

+1

¿qué pasa si uso etiquetas simples –

+1

@Darin Dimitrov He usado solo en la vista parcial que tampoco está funcionando. ¿Hay alguna forma de hacerlo? –

1

como lo que sé, vista parcial necesitan tener la referencia de todos los scripts a pesar de que ya se hace referencia a ella en la página maestra/diseño. Lo que siempre hice es crear una vista parcial (_Scripts.cshtml) y poner todos los scripts + referencia de hoja de estilo en ella. a continuación, voy a llamar esta vista parcial en todas las vistas:

@Html.Partial("_Scripts") 

Hope esto es lo que usted quiere, gracias :)

+0

Probé Html.RenderPartial; Mismo problema No hay inclusión de múltiples archivos ... Soy alreday lo mismo según lo dicho por user834754 .. Todavía tengo problema !!! –

Cuestiones relacionadas