簡體   English   中英

MultiHandleSliderExtender:錯誤-只能將ScriptManager的一個實例添加到頁面

[英]MultiHandleSliderExtender: Error - Only one instance of a ScriptManager can be added to the page

我想開發一個可以從兩側進行調整的多處理機滑塊。 我的腳本為

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication4._Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <asp:ScriptManager runat="server" ID="ScriptManager1" EnablePartialRendering="true"/>
    <table>
        <tr>
            <td colspan="2">
                <asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Conditional">
                    <ContentTemplate>
                        <table>
                            <tr>
                                <td  colspan="2">
                                    <asp:TextBox runat="server" Id="txtSlider"></asp:TextBox>
                                    <cc1:MultiHandleSliderExtender runat="server" ID="MultiHandleSliderExtender1"
                                        ShowHandleDragStyle="false" BehaviorID="MultiHandleSliderExtender1" 
                                        TargetControlID="txtSlider" Length="200" ShowInnerRail="true" 
                                        EnableMouseWheel="false" OnClientDrag="Drag" Increment="1" 
                                        RaiseChangeOnlyOnMouseUp="true" EnableRailClick="false" OnClientDragEnd="DragEnd"
                                        ShowHandleHoverStyle="true" Maximum="200" Minimum="1">
                                        <MultiHandleSliderTargets>
                                            <cc1:MultiHandleSliderTarget ControlID="rangeStart" />
                                            <cc1:MultiHandleSliderTarget ControlID="rangeEnd" />
                                        </MultiHandleSliderTargets>
                                    </cc1:MultiHandleSliderExtender>  
                                    </br>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                      <asp:Label ID="lblStartRange" runat="server" Text=""></asp:Label>
                                </td>
                                <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    &nbsp;
                                    <asp:Label ID="lblEndRange" runat="server" Text=""></asp:Label> 
                                </td>
                            </tr>
                            <tr>
                                <td>
                                     <asp:HiddenField ID="rangeStart" runat="server" />
                                </td>
                                <td>
                                    <asp:HiddenField ID="rangeEnd" runat="server" />
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2">
                                </td>
                            </tr>
                        </table>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </td>
        </tr>
    </table>

    <script type="text/javascript">
        var isDragging = false;
        function Drag(sender, args) {
            GetSliderRange($get("<%= rangeStart.ClientID %>").value, $get("<%= rangeEnd.ClientID%>").value);
        }

        function DragEnd(sender, args) {
           <%-- //prevent postback on slider click
            if ($get("<%= hdfTrackRangeStart.ClientID %>").value !== $get("<%= rangeStart.ClientID %>").value) {
            $get("<%= btnLoadChart.ClientID %>").click();
            //__doPostBack("<%= btnLoadChart.ClientID %>", "");
        }
        if ($get("<%= hdfTrackRangeEnd.ClientID %>").value !== $get("<%= rangeEnd.ClientID %>").value && $get("<%= hdfTrackRangeEnd.ClientID %>").value !== '0') {
            $get("<%= btnLoadChart.ClientID %>").click();
            //__doPostBack("<%= btnLoadChart.ClientID %>", "");
        }--%>
    }

        function GetSliderRange(startV, endV) {
            $get("<%= lblStartRange.ClientID %>").innerHTML = GetSliderText(arrRange[startV - 1], 's');
            $get("<%= lblEndRange.ClientID %>").innerHTML = GetSliderText(arrRange[endV - 1], 'e');
            // alert(arrRange[startV - 1]);
            // PageMethods.SliderRange(startV, endV, this.callback);
        }

        function GetSliderText(r, p) {
            var arrResult = r.split("--");
            var strText = '';
            if (p === 's') {
                strText = "<b>From</b> Year: " + arrResult[0] + " Month: " + arrResult[1];

            }
            else {
                strText = "<b>To</b> Year: " + arrResult[0] + " Month: " + arrResult[1];
            }
            return strText;
        }
    </script>
</asp:Content>

最初我只是在page_load中使用靜態值檢查它

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                MultiHandleSliderExtender1.Minimum = 1;
                MultiHandleSliderExtender1.Maximum = 200;

                rangeStart.Value    = MultiHandleSliderExtender1.Minimum.ToString();
                rangeEnd.Value      = MultiHandleSliderExtender1.Maximum.ToString();
            }
        }

提前致謝。 請幫我找出錯誤。

之所以出現該錯誤,是因為您正在處理從母版繼承的頁面,並且聲明了兩個ScriptManager。

當然,您在Site.Master具有ScriptManager,並且還在此頁面(Default.aspx)中添加了ScriptManager。

刪除childPage內的scriptManager,因為此頁面將使用Site.master的頁面。

去掉:

 <asp:ScriptManager runat="server" ID="ScriptManager1" EnablePartialRendering="true"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM