[英]Update panel gridview asp.net C#
你能幫我嗎 當我單擊ID 1,2 ....時,從查詢字符串中獲取ID,然后在另一張表中的id_proba上顯示那些來自查詢字符串的ID相等的名稱。 可以,告訴我。 現在我喜歡單擊GridView1中的ID 1,2 ..以僅刷新gridview 2而不是所有頁面。 需要gridview才能放入Ajax更新面板。 我將gridview2放在“更新”面板中,但不知道該用什么寫代碼?
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1" CellPadding="4"
ForeColor="#333333" GridLines="None"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
<asp:HyperLinkField
DataTextField="id"
DataTextFormatString=" {0}"
DataNavigateUrlFields="id" HeaderText="id"
DataNavigateUrlFormatString="WebForm1.aspx?ID={0}" />
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ProbaConnectionString %>"
DeleteCommand="DELETE FROM [Proba1] WHERE [id] = @id"
InsertCommand="INSERT INTO [Proba1] ([name]) VALUES (@name)"
SelectCommand="SELECT [name], [id] FROM [Proba1]"
UpdateCommand="UPDATE [Proba1] SET [name] = @name WHERE [id] = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="name" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource2">
<Columns>
<asp:BoundField DataField="id_proba" HeaderText="id_proba"
SortExpression="id_proba" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
</Columns>
</asp:GridView>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ProbaConnectionString %>"
SelectCommand="SELECT [id_proba], [name] FROM [proba3] WHERE ([id_proba] = @id_proba)">
<SelectParameters>
<asp:QueryStringParameter Name="id_proba" QueryStringField="ID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>
要通過單擊GridView1
刷新更新面板,可以在GirdView1
的鏈接中添加一個javascript onclick處理程序。
在此事件處理程序中,您可以通過調用__doPostBack
刷新更新面板。 您可以使用jQuery將事件處理程序添加到網格中的所有標簽,如下所示:
<script>
$(function() {
$("#<%=GridView1.ClientID%> a").bind('click', function() {
refreshUpdatePanel();
});
});
function refreshUpdatePanel()
{
__doPostBack('UpdatePanel1', '');
}
</script>
如果您的網格不太大,請將它們放在同一更新面板中。
這樣,你就不必編寫任何代碼來獲得GridView2
在點擊更新GridView1
。
像這樣:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1" CellPadding="4"
ForeColor="#333333" GridLines="None"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
<asp:HyperLinkField
DataTextField="id"
DataTextFormatString=" {0}"
DataNavigateUrlFields="id" HeaderText="id"
DataNavigateUrlFormatString="WebForm1.aspx?ID={0}" />
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
<br />
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource2">
<Columns>
<asp:BoundField DataField="id_proba" HeaderText="id_proba"
SortExpression="id_proba" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
</Columns>
</asp:GridView>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ProbaConnectionString %>"
SelectCommand="SELECT [id_proba], [name] FROM [proba3] WHERE ([id_proba] = @id_proba)">
<SelectParameters>
<asp:QueryStringParameter Name="id_proba" QueryStringField="ID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ProbaConnectionString %>"
DeleteCommand="DELETE FROM [Proba1] WHERE [id] = @id"
InsertCommand="INSERT INTO [Proba1] ([name]) VALUES (@name)"
SelectCommand="SELECT [name], [id] FROM [Proba1]"
UpdateCommand="UPDATE [Proba1] SET [name] = @name WHERE [id] = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="name" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.