【问题标题】:SliderExtender with BehaviorID is not rendered after pageLoad(), but work after postback具有 BehaviorID 的 SliderExtender 在 pageLoad() 之后不呈现,但在回发后工作
【发布时间】:2011-05-19 18:31:25
【问题描述】:

我在 页面控件UpdatePanel 中使用 asp.net 滑块。

我分配了一个 behaviorID 并在位于页面底部的 JavaScript 内的 $(document).readySys.WebForms.PageRequestManager.getInstance().add_endRequestfunctions 中使用 $find(behaviorID) 调用它。

滑块上的 JavaScript 函数在 page_initial 之后不起作用。 它无法在 JavaScript 中找到滑块,即$find(behaviorID) = null。而$(document).ready 中设置的其他 JavaScript 函数确实有效。 但是,我可以查看滑块的导轨并拖动它。

但是当我使用其他控件在页面上进行任何回发时,滑块可以顺利运行! 它使用<... Class= ...Behavior_ID>生成额外的标签

源代码中用于生成 Slider 及其 Event 的 JS 如下所示:

Sys.Application.add_init(function() {
    $create(AjaxControlToolkit.SliderBehavior, {"Length":410,"Maximum":100,"Minimum":-100,"TooltipText":"Adjust Target","id":"targetSlider_JS"}, null, null, $get("ctl00_ContentPlaceHolder3_Target1_txtSlider"));
});

页面位于 MasterPage 的“内容”中。 我猜它在 page-init 时无法正确渲染滑块,需要为滑块进行一些服务器端设置吗?

问候,

【问题讨论】:

    标签: javascript asp.net jquery asp.net-ajax


    【解决方案1】:

    我遇到了同样的问题,但它是间歇性的。有时它是空的,而其他时候很好。我添加了一个 100 毫秒的小 setTimeout 来延迟对 $find 的调用,现在它可以工作了。

    【讨论】:

      【解决方案2】:

      没有找到解决办法。

      改为使用 jquery 滑块。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多