2010-02-02 30 views
3

我正在使用jquery Carosellite和周期来显示图像像帧。如何将值传递给属性,如速度,代码隐藏(c#)中的可见效果等。jQuery Carosellite和从C#的循环和参数#

防爆的html代码:

<script type="text/javascript" language="javascript"> 
    $(function() { 
     $(".anyClass").jCarouselLite({ 
      btnNext: ".next", 
      btnPrev: ".prev", 
      visible: 1, 
      scroll: 1, 
      speed: 1000 
     }); 
    }); 
</script> 

格塔。

回答

2

如果你不喜欢混合ASP .NET代码的标记,你也可以这样做:

标记:

<asp:HiddenField runat="server" id="hfVisible" Value="true" /> 
    <asp:HiddenField runat="server" id="hfSpeed" Value="1000" /> 

的javascript:

$(function() { 
     $(".anyClass").jCarouselLite({ 
      btnNext: ".next", 
      btnPrev: ".prev", 
      visible: $('#hfVisible').val(), 
      scroll: 1, 
      speed: $('#hfSpeed').val(); 
     }); 
    }); 

代码后面:

protected override void OnLoad(EventArgs e) { 
    hfVisible.Value = true; 
    hfSpeed.Value = 1000; 
} 

注意:如果HiddenFields是上一个用户控件不使用id引用的元件,使用类,而不是,或另一种属性;或者为了避免这种情况:使用RegisterHiddenField:

ClientScriptManager cs = Page.ClientScript; 
// Register the hidden field with the Page class. 
cs.RegisterHiddenField('hfVisible', "false"); 
cs.RegisterHiddenField('hfSpeed', "1000"); 

这样,你不需要在标记中声明HiddenFields。

+0

我得到这个错误 错误2'_Default.OnLoad(System.EventArgs)':虚拟或抽象成员不能私人 – Geeth 2010-02-02 05:29:55

+0

我应该在页面加载事件中尝试此代码吗? – Geeth 2010-02-02 05:33:05

+0

只是将Onload方法中的private保护替换掉 – jerjer 2010-02-02 05:43:13

2

如果属性在代码隐藏,你可以把它们粘在页面一个快速解决方案:

$(function() { 
    $(".anyClass").jCarouselLite({ 
     btnNext: ".next", 
     btnPrev: ".prev", 
     visible: <%=Visible %>, 
     scroll: 1, 
     speed: <%=Speed %> 
    }); 
}); 

在页面:

protected int Visible { get; set; } 
protected int Speed { get; set; } 

protected override void OnLoad(EventArgs e) { 
    Visible = 1; 
    Speed = 1000; 
} 
+0

私人覆盖无效OnLoad(EventArgs e)和速度:<%=Speed %>显示错误。 – Geeth 2010-02-02 05:15:42

+0

@Geetha - 现在试试....这是晚了,我忘了OnLoad被保护,而不是私人:) – 2010-02-02 12:16:32