utilizar qué que programar podríamos net llamar funcion forma ejecutar desde código codebehind asp asp.net javascript

asp.net - qué - que es asp net



¿Cómo hago referencia a un archivo javascript? (5)

@Jared: IE necesita eso / script. A FF no le importa.

Estoy trabajando en un proyecto C # / ASP.NET que tiene todos los archivos javascript en una carpeta / Javascript. Si me refiero al archivo JS usando esta sintaxis: src = "/ Javascript / jsfile.js", entonces el archivo se recoge correctamente si el proyecto se implementa en la raíz de la URL.

Sin embargo, si este "sitio web" se implementa en una subcarpeta de la URL principal, esto no funcionará. Entonces, la solución podría ser utilizar URL relativas, pero también hay un problema porque las páginas maestras hacen referencia a muchos de los archivos javascript y estas páginas maestras pueden ser usadas por páginas en la raíz y en subcarpetas de muchos niveles.

¿Alguien tiene alguna idea para resolver esto?


La nueva versión de ASP.NET ( 3.5 SP1 ) tiene una característica ingeniosa llamada CompositeScript . Esto le permite utilizar un ScriptManager para hacer referencia a muchos pequeños archivos .js del lado del servidor y enviarlos como un único archivo .js al cliente.

Bueno para el cliente ya que solo tiene que descargar un archivo. Bien por ti, ya que puedes mantener los archivos como quieras del lado del servidor.

<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="True" runat="server"> <Scripts> <asp:ScriptReference Assembly="SampleControl" Name="SampleControl.UpdatePanelAnimation.js" /> </Scripts> </asp:ScriptManager>


Pruebe algo como esto en la página maestra:

<script type="text/javascript" src="<%= Response.ApplyAppPathModifier("~/javascript/globaljs.aspx") %>"></script>

Por alguna razón, he encontrado que los navegadores son bastante quisquillosos con la etiqueta final, así que simplemente terminar la etiqueta con /> no parece funcionar.


Si hace referencia al archivo JS en una sección que es "runat = server", puede escribir src = "~ / Javascript / jsfile.js" y siempre funcionará.

También puede hacer esto en su Page_Load (en su página maestra):

Page.ClientScript.RegisterClientScriptInclude("myJsFile", Page.ResolveClientUrl("~/Javascript/jsfile.js"))


Es posible que desee echar un vistazo a FileResolver . Es un controlador HTTP que le permite hacer esto:

<link rel="stylesheet" href="~/resources/stylesheet.css.ashx" />

Y haga que la tilde (y cualquier tildes dentro del archivo) se expanda correctamente.