【问题标题】:how to bind gridview present in user control from aspx page?如何从aspx页面绑定用户控件中存在的gridview?
【发布时间】:2012-07-09 05:27:57
【问题描述】:

我在 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"> 

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    将用户控件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);
    
    }
    

    【讨论】:

    • Thanks.But 如何在 OnRowEditing 事件上绑定 gridview,因为在这里我必须获取下拉列表选择的值。 OnRowEditing 事件将写入 UsrCtrl.cs 文件。
    • OnRowEditing 事件在 UserControl 中。
    • 现在你想要在 UsrCtrl 的 OnRowEditing 事件中主页面下拉列表的 SelectedValue 吗?
    • 完全正确。我怎样才能在用户控件中拥有下拉列表的 SelectedValue?
    • 在 Main 中创建一个公共方法,返回下拉列表的选定值并从 UsrCtrl、OnRowEditing 调用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多