Es posible pasar una variable a un vinculados .archivo js? He intentado esto:

<sf:JsFileLink ID="JQueryLoader" runat="server" ScriptType="Custom" FileName="~/Files/Scripts/rotatorLoader.js?timeout=1000" />

Pero firebug me está diciendo que el tiempo de espera no está definido. Aquí está el código para que .archivo js:

$(document).ready(function() {
    $("#rotator > ul").tabs({ fx: { opacity: "toggle"} }).tabs("rotate", timeout, true);
});

Estoy usando <sf:JsFileLink ... /> etiqueta es debido a que el sitio en el que estoy trabajando en utiliza sitefinity y esta etiqueta me permite la carga externa .js archivos.

ACTUALIZACIÓN:

Yo era capaz de “engañar” al incluir mediante la creación de una página aspx que emula un javascript de la página:

<%@ Page Language="C#" %>

<%
    Response.ContentType = "text/javascript";
    Response.Clear();
    string timeout;
    try
    {
        timeout = Session["timeout"].ToString();
    }
    catch
    {
        timeout = "4000";
    }
%>

$(document).ready(function() {
    $("#rotator > ul").tabs({ fx: { opacity: "toggle"} }).tabs("rotate", <%=timeout %>, true);
});

Y en el control de usuario página:

[DefaultProperty("BannerTimeout")]
public partial class Custom_UserControls_TabbedRotator : System.Web.UI.UserControl
{
    [Category("Configuration")]
    [Description("Sets the rotation timeout, in seconds.")]
    [DisplayName("Banner Timeout")]
    public int BannerTimeout { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        Session.Add("timeout", (BannerTimeout*1000));
    }
}

Esta logrado lo que yo estaba buscando, y tal vez este método puede ayudar a alguien.

OriginalEl autor Anders | 2009-08-27

4 Comentarios

  1. 15

    No, no se puede pasar parámetros y la secuencia de comandos de lectura.

    Técnicamente, usted puede asir de la <script> etiqueta, pero que sería un verdadero desastre.

    Podría usted acaba de salida de un bloque de secuencia de comandos antes de incluir el archivo?

    <script type="text/javascript"> var timeout = 1000; </script>
    No parece, al menos no en este archivo. Voy a tratar de poner en la página principal del archivo.
    Esto funciona si tengo el bloque de secuencia de comandos en la página principal, pero no en el archivo de control de usuario.
    En realidad, se pueden pasar como parámetros y la secuencia de comandos de lectura en: stackoverflow.com/questions/1203933/…
    que llama la url de la <script> etiqueta como he señalado

    OriginalEl autor Greg

  2. 9

    intente esto:

    <script>
    var myvariable = "foo";
    </script>
    <script src="/link/to/js.js"></script>

    OriginalEl autor Byron Whitlock

  3. 2
    <script type="text/javascript">
    var imagesPath = "emblematiq/img/";
    </script>
    <script type="text/javascript" src="emblematiq/niceforms.js"></script>

    Esto va a funcionar bien en el servidor

    OriginalEl autor Developer-Sid

  4. 0

    No, pero puede pasar un valor directamente a una función en el archivo o establecer un valor de la variable que se utilizará en el archivo externo.

    OriginalEl autor AyexeM

Dejar respuesta

Please enter your comment!
Please enter your name here