1

aspx ページにドロップダウンリストがあります。ユーザーコントロールにグリッドビューがあります。ユーザーコントロールをaspxページに配置しました。ドロップダウンリストのselectIndexChangedイベントでグリッドビューをバインドする方法。ドロップダウン リストで選択したインデックスを関数に渡し、ユーザー コントロールにある gridview をバインドします。aspx.cs から gridview をバインドします。

ASPXページ

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" MasterPageFile="~/HomePage.master" Inherits="Main" %>

<%@ Register TagPrefix="uc" TagName="UserControl" Src="~/UserControl.ascx" %>

<%@ Register Assembly="WebControls" Namespace="WebControls" TagPrefix="cc" %>
<asp:Content ContentPlaceHolderID="mainContent" ID="mainPart" runat="server">
    <asp:Label ID="Label1" runat="server" Text="<%$ Resources:GlobalResource, EmpName %>">></asp:Label>
    <cc:CstDropDown ID="ddl" runat="server" AutoPostBack="true"  OnSelectedIndexChanged="ddl_SelectedIndexChanged">
    </cc:CstDropDown>
    <uc:UserControl ID="UsrCtrl" runat="server" />
</asp:Content>
<asp:Content ContentPlaceHolderID="subContent" ID="sub" runat="server">
</asp:Content>

ASCX ページ

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControl.ascx.cs" Inherits="UserControl" %>

   <asp:GridView ID="dataGrid"  runat="server" AutoGenerateColumns="false" 
    DataKeyNames="EmpID" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" OnRowEditing="dataGrid_RowEditing"
     OnRowCancelingEdit="dataGrid_RowCancelingEdit" OnRowUpdating="dataGrid_RowUpdating"> 
4

1 に答える 1

3

ユーザー コントロール UsrCtrl のバインディング メソッドを public にして、メイン ページのドロップダウンの selectedIndexChange イベントから呼び出します。

UsrCtrl で

public void BindMyGrid(string selectedValue)
{
     //Bind grid here
}

aspx Main.aspx 内

protected void ddl_SelectedIndexChanged(object source, EventArgs e)
{
   UsrCtrl.BindMyGrid(ddl.SelectedValue);

}
于 2012-07-09T05:31:15.107 に答える