title: Pass variable to external JS file?
body: <p>Is it possible to pass a variable to a linked .js file? I tried this:</p>
  
  <pre><code>&lt;sf:JsFileLink ID="JQueryLoader" runat="server" ScriptType="Custom" FileName="~/Files/Scripts/rotatorLoader.js?timeout=1000" /&gt;
  </code></pre>
  
  <p>But firebug is telling me that timeout is not defined. Here is the code for that .js file:</p>
  
  <pre><code>$(document).ready(function() {
      $("#rotator &gt; ul").tabs({ fx: { opacity: "toggle"} }).tabs("rotate", timeout, true);
  });
  </code></pre>
  
  <p>I am using <code>&lt;sf:JsFileLink ... /&gt;</code> tag is because the website I am working in utilizes sitefinity and this tag allows me to load external .js files.</p>
  
  <h2>UPDATE:</h2>
  
  <p>I was able to 'trick' the include by creating an aspx page that emulates a javascript page:</p>
  
  <pre><code>&lt;%@ Page Language="C#" %&gt;
  
  &lt;%
      Response.ContentType = "text/javascript";
      Response.Clear();
      string timeout;
      try
      {
          timeout = Session["timeout"].ToString();
      }
      catch
      {
          timeout = "4000";
      }
  %&gt;
  
  $(document).ready(function() {
      $("#rotator &gt; ul").tabs({ fx: { opacity: "toggle"} }).tabs("rotate", &lt;%=timeout %&gt;, true);
  });
  </code></pre>
  
  <p>And on the user control page:</p>
  
  <pre><code>[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));
      }
  }
  </code></pre>
  
  <p>This achieved what I was looking for, and maybe this method can help someone else out.</p>