Pregunta

Me gustaría tener algunos de los ScriptManager características en el nuevo Asp.net modelo MVC:

1 - secuencia de Comandos de la combinación de
2 - la Resolución de los diferentes rutas de acceso para los archivos Javascript externos
3 - Minify y la Compresión Gzip

Aquí es lo que he encontrado, pero no estoy seguro de que es la mejor manera para MVC enfoque.En general lo que es una buena estrategia para lidiar con el código Javascript en el modelo MVC?

¿Fue útil?

Solución

Tal vez podría crear un nuevo controlador 'Scripts' con diferentes acciones que sirvan diferentes combinaciones de archivos JS comprimidos. Dado que MVC está diseñado con un enfoque orientado a los recursos, es decir, las URL ahora están en el centro de su modelo de programación, ¿por qué no definir URI simples para sus Javascripts también?

En sus vistas, por ejemplo, puede hacer referencia a sus archivos de esta manera:

<script src="http://your_domain/scripts/all"/>

Esto llamaría su acción 'all', lo que da como resultado que se envíen todos sus archivos de script comprimidos.

Por supuesto, necesitaría codificar la combinación y la compresión por ahora, o quizás reutilizar el Scriptmanager internamente, no sé si es posible.

Sin embargo, esto es solo una idea, actualmente estoy haciendo referencia a archivos javascript individuales directamente en mis páginas maestras.

Otros consejos

Intente esto:http://www.codeplex.com/MvcScriptManager

MvcScriptManager se dirige a puerto ciertas características clave disponibles en AjaxControlToolkit del ToolkitScriptManager en la actual ASP.NET Marco de MVC.Usted será capaz de utilizarlo como un control en su ASP.NET aplicación MVC.

Características

  1. Script de combinación (o concatenación).Scripts declarado con MvcScriptManager será combinada sobre la marcha en un único archivo de secuencia de comandos de petición cuando se procesa la página.
  2. Secuencia de comandos de minimización (o crujido) en modo de lanzamiento.Minificación proceso se realiza sólo una vez en la primera solicitud que hace referencia a la específica de la secuencia de comandos.Las solicitudes posteriores se utiliza la crujía script contenido en caché (ver #5 para detalles).Crujido puede ser habilitado/deshabilitado para cada secuencia de comandos.
  3. Render recursos localizados para stand-alone archivos de secuencia de comandos.Cadenas localizadas se anexará a la secuencia de comandos si se especifica.
  4. Soporte configurable HTTP compresión y configuración de caducidad cuando de imprimir secuencias de comandos.
  5. Secuencia de comandos de almacenamiento en caché con la dependencia de archivo.Archivo de secuencia de comandos de contenido se almacena en caché, de modo que la representación combinada de archivo de secuencia de comandos serán mucho más eficientes.La dependencia de caché está vinculado al archivo físico por lo tanto, cualquier secuencia de comandos de actualización en el sistema de archivos se reflejarán en la memoria caché de forma instantánea.
  6. Apoyo de representación de secuencias de comandos de debug/modo de lanzamiento basado en el entorno de ejecución.
  7. La resolución de las diferentes rutas de acceso de archivos de secuencia de comandos.
  8. Soporte de múltiples MvcScriptManagers en una sola página (página principal).El apoyo, el Maestro y el Esclavo el modo de representación de modo que los scripts declarado con un ScriptManager pueden ser transferidas a otro uno para la representación.
  9. Soporte en la web de la granja de escenario...

¿O qué tal incluir el ScriptManager en sí mismo, como el único habitante de una <form runat="server"> página única y única por página?

Así: -

   <form runat="server">
      <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true">
      </asp:ScriptManager>
    </form>

Funciona para mí.

P.S. Deberá asegurarse de que esta etiqueta de formulario nunca se incruste en otro formulario. Los formularios anidados no funcionan.

Encontré esto investigando el mismo problema: Un Simple ScriptManager para ASP.NET MVC - escrito después de que esta pregunta fue respondida y se agregó como referencia.

En primera instancia, voy con la solución de fuerza bruta, es decir, la pego en la página maestra (especialmente porque ahora se puede extraer jQuery del CDN de Microsoft), luego investigaremos las opciones para obtener soluciones más óptimas.

MVC 4 ahora incluye ayudantes de agrupación y minificación. Usted define todos los scripts que se incluyen en su paquete, y MVC se encargará de los paquetes, la compresión, el almacenamiento en caché, etc.

http://www.asp.net/mvc/ tutoriales / mvc-4 / bundling-and-minification

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top