Менеджер скриптов не работает

У меня есть главная страница, и это менеджер сценариев с панелью обновления внутри нее. . теперь я пытаюсь добавить панель обновления на страницу содержимого без использования диспетчера скриптов, но выдает ошибку:

The control with ID 'updpanel' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.

Я знаю, что могу использовать только один экземпляр диспетчера скриптов, затем я попробовал ScriptManagerProxy, но выдает ошибку, что для scriptMangerProxy требуется диспетчер скриптов. Я также пробовал ajax:ToolScriptManager, но он также дает те же результаты. Итак, вопрос в том, как заставить панель обновления работать на странице содержимого.

Главная страница:

<%@ Master Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="SideMaster.master.cs" Inherits="SideMaster" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/jscript"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            $('#chit').scrollTop(1000000);

        });
</script>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<div class="sidemenu">
<asp:SiteMapDataSource ID="topNav" runat="server" />

        <asp:Menu ID="SideMenu" runat="server" DataSourceID="topNav" CssClass="SideMenu" StaticDisplayLevels="4"
          Font-Bold="true" Font-Size="20" IncludeStyleBlock="true"  >
         <StaticMenuItemStyle VerticalPadding="5" BackColor="#670a0a" ForeColor="White" HorizontalPadding="5" />
         <StaticSelectedStyle BackColor="White" ForeColor="#670a0a" />
        </asp:Menu>
</div>

<div class="cont3" >
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
</div>

<div class="rightmenu">

<div class="newspan">

<asp:Repeater ID="RepNews" runat="server" >
<HeaderTemplate><div class="newsheadcont">News & Events</div></HeaderTemplate>
<ItemTemplate>
<div class="newstemp">
<hr />
&#35; &nbsp; <%#Eval("News") %>

<asp:LinkButton ID="LinkNews" runat="server" CssClass="welcomeMore"></asp:LinkButton>

</div>
</ItemTemplate>
</asp:Repeater>
</div>

<br /><br />

<div class="chatcont" style="margin-left:1%;">
<div class="chat">
<h2 class="chathead">Peoples Talking About </h2>
<asp:ScriptManager ID="scmang" runat="server"></asp:ScriptManager>

    <%--<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </ajaxToolkit:ToolkitScriptManager>--%>
<script type="text/javascript">
    var xPos, yPos;
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(BeginRequestHandler);
    prm.add_endRequest(EndRequestHandler);
    function BeginRequestHandler(sender, args) {
        xPos = $get('chit').scrollLeft;
        yPos = $get('chit').scrollTop;
    }
    function EndRequestHandler(sender, args) {
        $get('chit').scrollLeft = xPos;
        $get('chit').scrollTop = yPos;
    }
</script>

<asp:UpdatePanel ID="updPanelChat" runat="server"  ChildrenAsTriggers="false" UpdateMode="Conditional" >

<ContentTemplate>
<asp:Panel ID="pan" runat="server">
<asp:ListView ID="ListChat" runat="server"  >
<LayoutTemplate>
<div class="chattemp" style="width:250px;  " id="chit" >



<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</div>
</LayoutTemplate>
<ItemSeparatorTemplate><hr /></ItemSeparatorTemplate>
<EmptyDataTemplate>No Data Found</EmptyDataTemplate>
<ItemTemplate>
<div class="chatbox" >

<div class="chatpic" style="margin:18px 0px 0px 0px;" >
<asp:ImageButton ID="ImageChat" runat="server" 
 ToolTip='<%#Eval("UserName") %>' 
    ImageUrl='<%# "~/ShowImage.ashx?Name=" + Server.UrlEncode(Eval("UserName").ToString()) %>'
        PostBackUrl='<%#"~/Profile/Profile.aspx?Name="+Eval("UserName") %>'
         Width="50" Height="50" />
</div>

<div class="chatbubble" style="width:160px; margin:-50px 5px 5px 60px; float:left;">
<asp:Label ID="LabelChat" runat="server" Width="100" Height="50"><%#Eval("Body") %></asp:Label>
</div>

<div class="chatname" style="width:50px; border:none;" >
<asp:LinkButton ID="LinkUserName" runat="server"  
PostBackUrl='<%#"~/Profile/Profile.aspx?Name="+Eval("UserName") %>'><%#Eval("UserName") %></asp:LinkButton>
</div>

</div>



</ItemTemplate>

</asp:ListView>
<asp:Timer ID="TimerUpdate" runat="server" Interval="20000" 
        ontick="TimerUpdate_Tick"></asp:Timer>
        </asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>

<div class="messagebox" style="width:250px; height:120px; border:none;">
<asp:TextBox ID="TextBoxMessage" runat="server" TextMode="MultiLine" Visible="false" Width="250" Height="80" MaxLength="500"></asp:TextBox>
<asp:Button ID="ButtonMessage" runat="server" Text="Comment" 
        onclick="ButtonMessage_Click" Visible="false" />
</div>

</div>
</div>

</div>

</asp:Content>

Страница содержания:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<div class="interface" >
<table>
<tr>
<td align="center">
<div class="goog">
<asp:LinkButton ID="LinkFind" runat="server" CssClass="linkgoog">Find</asp:LinkButton>
</div>
</td></tr>

<tr><td align="left">
<div>
<asp:TextBox ID="TextBoxSearch" runat="server" Width="600" Height="40"></asp:TextBox> 
<asp:Button ID="ButtonSearch" runat="server" Text="SEARCH" CssClass="loginbt" 
        onclick="ButtonSearch_Click1" /><br />

</div>

</td></tr>

</table>
</div>

    <br />
    <div class="interface">


    <asp:UpdatePanel ID="updpanel" runat="server">
    <ContentTemplate>
    <asp:GridView ID="GridAll" runat="server" 
        onitemcommand="GridAll_ItemCommand" AutoGenerateColumns="false" CellPadding="10" AllowPaging="true" PageSize="3" OnPageIndexChanging="GridAll_PageIndexChanging" >
    <Columns>
    <asp:TemplateField HeaderText="Name" HeaderStyle-BackColor="#670a0a" HeaderStyle-ForeColor="White" HeaderStyle-Font-Size="20">
    <ItemTemplate>
                <asp:LinkButton ID="lnkname" runat="server"
             Text='<%#Eval("Name") %>'
              PostBackUrl='<%#"~/Profile/Profile.aspx?Name="+Eval("UserName") %>' CssClass="welcomeMore"/>

            </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Department" HeaderStyle-BackColor="#670a0a" HeaderStyle-ForeColor="White" HeaderStyle-Font-Size="20" >
    <ItemTemplate>
    <span class="googtext"><%#Eval("Department") %></span>
         </ItemTemplate>       
    </asp:TemplateField>



    <asp:TemplateField HeaderText="Year" HeaderStyle-BackColor="#670a0a" HeaderStyle-ForeColor="White" HeaderStyle-Font-Size="20">
    <ItemTemplate>
    <span class="googtext"><%#Eval("Year") %></span>
         </ItemTemplate>       
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Photo" HeaderStyle-BackColor="#670a0a" HeaderStyle-ForeColor="White" HeaderStyle-Font-Size="20">
    <ItemTemplate>
    <asp:Image ID="ImageProfile" runat="server" ImageUrl = '<%# "~/ShowImage.ashx?Name=" + Server.UrlEncode(Eval("UserName").ToString()) %>' Width="150" Height="150" />
    </ItemTemplate>
    </asp:TemplateField>

    </Columns>
    <EmptyDataTemplate>
    <div class="emptytext">No Match Found</div>
    </EmptyDataTemplate>
    </asp:GridView>
    </ContentTemplate>
    </asp:UpdatePanel>
    </div>
</asp:Content>

Ваша помощь будет оценена по достоинству. . . Спасибо


person user2517610    schedule 21.07.2013    source источник
comment
пожалуйста, покажите фактический код с вашей главной страницы и страницы содержимого. Вероятно, вы каким-то образом скрыли диспетчер сценариев. Вам не нужно включать диспетчер скриптов на страницу контента, он должен существовать только где-то на странице.   -  person Aristos    schedule 21.07.2013
comment
Я обновил свой вопрос. . .   -  person user2517610    schedule 22.07.2013
comment
Кто-нибудь, пожалуйста, помогите мне. . .   -  person user2517610    schedule 23.07.2013
comment
Просто поместите верхнюю часть asp:ScriptManager сразу после заголовка на первую главную страницу, потому что я считаю, что это вложенная главная страница. Также переместите сценарий, который вы используете больше, вверх.   -  person Aristos    schedule 23.07.2013


Ответы (1)


У вас должен быть только один диспетчер скриптов на главной странице над панелью обновлений.

На любой странице содержимого вы можете использовать панель обновления, так как на главной странице уже есть диспетчер сценариев. Также вы должны предоставить некоторый код для вашей проблемы.

person Yogesh Kumar Gupta    schedule 21.07.2013
comment
На странице может быть ТОЛЬКО один диспетчер сценариев, поэтому многие решения используют его на главной странице, поэтому страницы с контентом просто используют этот диспетчер сценариев. - person Karl Anderson; 21.07.2013