你能帮我解决这个问题。当我点击ID 1,2 ....从查询字符串中取出ID并显示其他表中id_proba上查询字符串中的id相等的那些名称。这没关系,告诉我。现在我喜欢当我点击GridView1中的ID 1,2 ..只刷新gridview 2而不是所有页面。需要gridview才能放入Ajax Update Panel。我把gridview2放在Update面板中,但不知道在代码中写什么?
<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>
答案 0 :(得分:1)
要通过点击GridView1
来刷新更新面板,您可以在GirdView1
中的链接中添加javascript onclick处理程序。
在此事件处理程序中,您可以通过调用__doPostBack
来刷新更新面板。您可以使用jQuery将事件处理程序添加到网格中的所有标记,如下所示:
<script>
$(function() {
$("#<%=GridView1.ClientID%> a").bind('click', function() {
refreshUpdatePanel();
});
});
function refreshUpdatePanel()
{
__doPostBack('UpdatePanel1', '');
}
</script>
答案 1 :(得分:0)
如果您的网格不是太大,请将它们放在同一个更新面板中
这样,您就不必编写任何代码来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>
答案 2 :(得分:0)