我使用ToolkitScriptManager时页面回发在母版页上不适用于部分页面

时间:2013-02-24 17:04:39

标签: asp.net

在母版页中,我使用的是ScriptManager,因此在内容页面中根据以下标记我只回发了部分页面。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate>
 <asp:DropDownList ID="ddlProjectDocument" runat="server" Height="16px" AppendDataBoundItems="True"  
     Width="212px" onselectedindexchanged="ddlProjectDocument_SelectedIndexChanged" 
    AutoPostBack="True" onload="ddlProjectDocument_Load" 
    style="font-family: 'Courier New', Courier, monospace" >

    <asp:ListItem Selected="True" Value="0">(select a value)</asp:ListItem>
</asp:DropDownList>
<br />



</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ddlProjectDocument"  />


</Triggers>
</asp:UpdatePanel>

现在我已经在我的内容页面中添加了组合框,所以我删除了ScriptManager并根据主页面的下方标记将ToolkitScriptManager放在母版页上,现在当我使用下拉列表控件后回发生完整页面时不仅仅是之前的部分,我怎么能解决这个问题?

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<style type="text/css">
    .style1
    {
        width: 40%;
        font-size:large;
    }
</style>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
<form id="form1" runat="server">


    <ajaxtoolkit:toolkitscriptmanager ID="ToolkitScriptManager1" runat="server">
    </ajaxtoolkit:toolkitscriptmanager>

新内容页面的标记如下:

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
 <asp:DropDownList ID="ddlProjectDocument" runat="server" Height="16px" AppendDataBoundItems="True"  
     Width="212px" onselectedindexchanged="ddlProjectDocument_SelectedIndexChanged" 
    AutoPostBack="True" onload="ddlProjectDocument_Load" 
    style="font-family: 'Courier New', Courier, monospace" >

    <asp:ListItem Selected="True" Value="0">(select a value)</asp:ListItem>
</asp:DropDownList>
<br />

<ajaxtoolkit:ComboBox ID="ComboBox1" runat="server" onload="ComboBox1_Load" 
     AutoCompleteMode="Suggest" 
     style="font-family: 'Courier New', Courier, monospace" >

</ajaxtoolkit:ComboBox>



</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ddlProjectDocument"  />


</Triggers>
</asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

因为AutoPostBack = true在面板内部,它将导致回发。

我能够让你的例子使用:

<asp:AsyncPostBackTrigger ControlID="ddlProjectDocument" />

希望这有帮助!