在内容页面的用户控件中处理MasterPage事件

时间:2010-08-23 12:12:08

标签: c# asp.net user-controls master-pages

在我的母版页上,我有“搜索文本框”和“搜索按钮”。

在我的内容页面上,我有一个“用户控件”,它有一个“GridView”。它显示了一些有关供应商的数据。 此外,在此用户控件的页面加载中,我编写了代码以在GridView中显示所有供应商。

现在,当用户在“搜索文本框”中输入供应商编号并点击“搜索按钮”时,我想在我的用户控件中处理此事件。

怎么做?

请帮帮我。提前谢谢。

注意:我知道如何处理内容页面中的事件,但不知道如何在内容页面上的用户控件内处理它。

2 个答案:

答案 0 :(得分:1)

您只需添加将搜索参数传递给用户控件的逻辑。

在用户控件上,创建一个公共方法来绑定接收搜索文本的网格

public void BindGrid{string searchText)
{
   //get datasource with the searchText used as a Where, or whatever suits your current situation
   //bind grid
}

然后,在MasterPage上,您应该有类似

的内容
protected void btnSearch_Click(object sender, EventArgs e)
{
   UserControl1.BindGrid(tbSearchText.Text);
}

如果IsPostBack为true,您只需要确保UserControl不会绑定PageLoad事件上的数据。否则,您将两次绑定数据。

答案 1 :(得分:0)

如果您知道如何在内容页面中处理事件,则可以对控件应用相同的方法。它仍然是将控件处理程序连接到母版页事件的内容页面,因为内容页面是知道并且可以访问母版页和控件的实体。