页面:webform.aspx 用户控件:usercontrol用户控件里里有几个选项,一个查询按钮,webform.aspx上面放一个用户控件,下面放一个GRIDVIEW.我现在想实现的就是,用户在用户控件里选择好条件之后,然后在我的WEB页面里得到这个where条件,然后根据得到的条件去绑定GRIDVIEW.现在问题是:查询按钮在用户控件里.它只能给where 条件赋值.但是我要绑定的GV在WEB界面里.我怎么样在点用户控件里的"查询"按钮时候得到查询条件.同时在web页面里执行相应的方法.注:就是在用户控件里点查询之后,同时执行WEB页面的方法.怎么实现.?谢谢.
{
//UcA2_1用户控件
(UcA2_1.FindControl("Button1") as Button).Click += new EventHandler(Button1_Click);
}
protected void Button1_Click(object sender, EventArgs e)
{
string keyword=(UcA2_1.FindControl("TextBox1") as TextBox).Text;
//绑定操作
}
protected void Page_Load(object sender, EventArgs e)
{ (UserQuery1.FindControl("btnQuery") as Button).Click += new EventHandler(GridViewDB);
}
protected void GridViewDB()
{
// to bind
}
我想实现这种操作.你那种只能加BUTTON的代理,虽然可以加一个隐藏按钮,但是反而麻烦了.能不能实现我这种?谢谢
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default16.aspx.cs" Inherits="Default16" %>
<%@ Register Src="MyUserControl.ascx" TagName="MyUserControl" TagPrefix="uc2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
<uc2:MyUserControl ID="MyUserControl1" runat="server" />
</div>
</form>
</body>
</html>页面后台
protected void Page_Init(object sender, EventArgs e)
{
MyTestIn mti = (MyTestIn)this.MyUserControl1;
mti.testHanlder += new MyTestHanlder(mti_testHanlder);
} void mti_testHanlder(object sender, MyEventArgs e)
{
this.Label1.Text = e.Sql;
}
protected void Page_Load(object sender, EventArgs e)
{ }控件前台<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyUserControl.ascx.cs" Inherits="MyUserControl" %>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />控件后台using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class MyUserControl : System.Web.UI.UserControl, MyTestIn
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
if (testHanlder != null)
{
MyEventArgs er = new MyEventArgs();
er.Sql = "aaaaaaaaaaaaa";
testHanlder(sender, er);
}
} #region MyTestIn Members public event MyTestHanlder testHanlder; #endregion
}public delegate void MyTestHanlder(object sender, MyEventArgs e);public interface MyTestIn
{
event MyTestHanlder testHanlder;
}public class MyEventArgs
{
private string s_Sql; public string Sql
{
get { return s_Sql; }
set { s_Sql = value; }
}}