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