我把搜索做成一个用户控件mysearch.ascx,它有如下的按钮事件:
protected void Search_Click(object sender, EventArgs e)
{ DataTable mydt = ubDAO.selectall("20");//此处取到了
Response.Redirect("../a/aa.aspx");
}
在aa.aspx中引入用户控件<uc2:mysearch ID="mysearch1" runat="server" />
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource =this.mysearch1.mydt;//此处的值为NULL
GridView1.DataBind();
}
对用户控件的传值不太懂,求高人指点一下,我就是想点了用户控件的搜索按钮,控件传一个DT给主页,能在主页面aa.apsx显示出搜索结果。非常感谢
------解决方案--------------------
等到了你用户控件的事件的时候,已经过了 Page_Load 事件。
建议你在用户控件里定义一个事件,让主页面绑定。
- C# code
public event Action<DataTable> SearchCompleted;protected void Page_Load(object sender, EventArgs e){ // 绑定事件处理 mysearch1 += MySearchComplete;}private void MySearchComplete(DataTable dt){ GridView1.DataSource = dt;//此处的值为NULL GridView1.DataBind();}-------------- 控件的Button事件 --------------------protected void Search_Click(object sender, EventArgs e){ DataTable mydt = ubDAO.selectall("20");//此处取到了 // 触发这个事件 SearchCompleted(mydt);}
------解决方案--------------------
修改下:
- C# code
mysearch1.SearchCompleted += MySearchComplete;