在Ajax中当你要使用updatepanel控件时,首先要先拖一个scriptmanager控件。
在updatepanel中updatemode与ChildrenAsTriggers怎样组合才不冲突呢?
UpdateMode =Always ChildrenAsTriggers =false(此种组合冲突)
UpdateMode =Always ChildrenAsTriggers =true (此种有效)
UpdateMode =Conditional ChildrenAsTriggers =true (此种有效)
UpdateMode =Conditional ChildrenAsTriggers =false(此种有效)
不同的组合方式,不同的位置,显示出不同情况的刷新与跳转,如下一段代码(此处只显示一种组合一种位置的情况):
<form id="form1" runat="server">
<div id='time'><%=System .DateTime .Now.ToString () %>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode =Block UpdateMode =Always ChildrenAsTriggers =true >
<ContentTemplate>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=.;Initial Catalog=B2B;User ID=sa;Password=sa"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [ProductId], [ProductName], [ProductType], [ProductPrice], [ProductQuantity], [ProductAddress] FROM [Products]">
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="ProductId"
DataSourceID="SqlDataSource1" PageSize="15" EnableViewState="False">
<Columns>
<asp:BoundField DataField="ProductId" HeaderText="ProductId"
InsertVisible="False" ReadOnly="True" SortExpression="ProductId" />
<asp:BoundField DataField="ProductName" HeaderText="ProductName"
SortExpression="ProductName" />
<asp:BoundField DataField="ProductType" HeaderText="ProductType"
SortExpression="ProductType" />
<asp:BoundField DataField="ProductPrice" HeaderText="ProductPrice"
SortExpression="ProductPrice" />
<asp:BoundField DataField="ProductQuantity" HeaderText="ProductQuantity"
SortExpression="ProductQuantity" />
<asp:BoundField DataField="ProductAddress" HeaderText="ProductAddress"
SortExpression="ProductAddress" />
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="demo"> </div>
</form>
当updatemode=Always 时,
当botton按钮与GridView控件同在一个updatepanel中时,id为time的div时间不刷新,而gridview实现页面的跳转;
当botton按钮与GridView控件在两个updatepanel中时,id为time的div时间不刷新,而gridview实现页面的跳转;
当botton在id为demo的div中,gridview在updatepanel中时,id为time的div时间刷新,gridview实现页面的跳转;
当updatemode=Conditional时,
当botton按钮与GridView控件同在一个updatepanel中时,id为time的div时间不刷新,而gridview实现页面的跳转;
当botton按钮与GridView控件在两个updatepanel中时,id为time的div时间不刷新,gridview也不实现页面的跳转;
当botton在id为demo的div中,gridview在updatepanel中时,id为time的div时间刷新,gridview实现页面的跳转;