脚本管理器不起作用

时间:2013-07-21 09:03:37

标签: c# asp.net master-pages scriptmanager

我有一个母版页,它们是脚本管理器,里面有更新面板。 。现在我尝试在内容页面中添加更新面板而不使用脚本管理器,但它给了我一个错误:

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>

我们将不胜感激。 。 。谢谢

1 个答案:

答案 0 :(得分:1)

您应该在更新面板上方的母版页中只有一个脚本管理器。

在任何内容页面中,您都可以使用更新面板,因为母版页中已有脚本管理器。你也应该为你的问题提供一些代码。