在用户控件上绑定gridview

时间:2011-01-13 05:19:57

标签: c# asp.net

我在aspx页面上有2个用户控件。 1控件有搜索creteria和搜索按钮,第二个用户控件有gridview。

当用户输入creteria并单击搜索按钮时,如何绑定gridview。

4 个答案:

答案 0 :(得分:1)

需要将click事件冒泡到aspx页面,然后传递给gridview usercontrol。请参阅以下链接如何冒泡事件。

http://odetocode.com/code/94.aspx

答案 1 :(得分:0)

考虑第一个UserControl产生一个DataTable。在第二个UserControl中指定一个属性,该属性接受数据表并将其绑定到控件内的网格​​。

控制2:

public datatable Result{get;set;}

Private void SetGrid()
{
datagrid1.datasource=Result;
datagrid1.databind();
}

控制1:

Datatable dt=SearchResult();
Control2.Result=dt;

答案 2 :(得分:0)

在.ascx页面的第二个用户控件中,您可以引用第一个用户控件 像是

<%@ Reference Control="first user control names comes here" %>

在第二个用户控制页面加载事件中,您可以使用以下默认方式找到第一个用户控件的对象:

UserControls_UCFirst uc1 = (UserControls_UCFirst)this.Parent.FindControl("UCFirst1");

然后你可以找到第一个用户控件的搜索条件对象(TextBox,DropDownList等)。

TextBox txt = (TextBox)(uc1.FindControl("txtName"));

通过上述过程,您可以绑定网格视图。

希望它会有所帮助。

答案 3 :(得分:0)

首先在DataTable中获取搜索结果,并在ViewState中存储DataTable。然后在ViewState中将DataTable设置为GridView的数据源。 像这样,

 GridView1.DataSource = ViewState["DataTable1"];
 GridView1.DataBind();

我希望这会对你有所帮助。