为GRIDVIEW中的控件动态添加事件的步骤

为GRIDVIEW中的控件动态添加事件的步骤

最近开始用asp.net来开发一个网站,其中用到了gridview控件.要实现根据不同的查询方式,使gridview绑定到不同的存储过程中,能动态的改变gridview列的个数,并添加一列 ButtonField.
但是在给 ButtonField中的button动态绑定事件的时候出现问题,事件根本绑定不上.
希望各位仁兄为小弟我解决一下这个问题啊
代码如下(下面只是实现按拼音方式查询时的数据绑定)

为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤
publicpartialclassSearchResult:System.Web.UI.Page
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤
protectedvoidPage_Load(objectsender,EventArgse)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤
if(!IsPostBack)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤SqlDataAdapteradapter
=newSqlDataAdapter();
为GRIDVIEW中的控件动态添加事件的步骤DataSetdataset
=newDataSet();
为GRIDVIEW中的控件动态添加事件的步骤SqlCommandcommand
=newSqlCommand();
为GRIDVIEW中的控件动态添加事件的步骤
stringconstr=ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
为GRIDVIEW中的控件动态添加事件的步骤
using(SqlConnectionconnection=newSqlConnection(constr))
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤command.CommandText
="按拼音姓名查询";
为GRIDVIEW中的控件动态添加事件的步骤command.CommandType
=CommandType.StoredProcedure;
为GRIDVIEW中的控件动态添加事件的步骤command.Connection
=connection;
为GRIDVIEW中的控件动态添加事件的步骤SqlParameterpinyin
=command.Parameters.Add("@pinyinNAME",SqlDbType.NVarChar);
为GRIDVIEW中的控件动态添加事件的步骤pinyin.Direction
=ParameterDirection.Input;
为GRIDVIEW中的控件动态添加事件的步骤pinyin.Value
="ls";
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤
//command.CommandText="SELECT*From患者信息";
为GRIDVIEW中的控件动态添加事件的步骤
//command.CommandType=CommandType.Text;
为GRIDVIEW中的控件动态添加事件的步骤
//command.Connection=connection;
为GRIDVIEW中的控件动态添加事件的步骤connection.Open();
为GRIDVIEW中的控件动态添加事件的步骤adapter.SelectCommand
=command;
为GRIDVIEW中的控件动态添加事件的步骤adapter.Fill(dataset);
为GRIDVIEW中的控件动态添加事件的步骤connection.Close();
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤foreach(DataColumncolindataset.Tables[0].Columns)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤BoundFieldbfield
=newBoundField();
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤bfield.DataField
=col.ColumnName;
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤bfield.HeaderText
=col.ColumnName;
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤GridView1.Columns.Add(bfield);
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤//Controlcontainer=newControl();
为GRIDVIEW中的控件动态添加事件的步骤
//Buttonbutton=newButton();
为GRIDVIEW中的控件动态添加事件的步骤
//button.Text="查看";
为GRIDVIEW中的控件动态添加事件的步骤
//container.Controls.Add((Control)button);
为GRIDVIEW中的控件动态添加事件的步骤
//TemplateFieldtp=newTemplateField();
为GRIDVIEW中的控件动态添加事件的步骤
//tp.ItemTemplate.InstantiateIn(button);
为GRIDVIEW中的控件动态添加事件的步骤
//tp.ItemTemplate.InstantiateIn(;
为GRIDVIEW中的控件动态添加事件的步骤ButtonFieldHFiled=newButtonField();
为GRIDVIEW中的控件动态添加事件的步骤HFiled.Text
="查看";
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤HFiled.ButtonType
=ButtonType.Button;
为GRIDVIEW中的控件动态添加事件的步骤HFiled.ItemStyle.ForeColor
=Color.Blue;
为GRIDVIEW中的控件动态添加事件的步骤HFiled.ItemStyle.Wrap
=false;
为GRIDVIEW中的控件动态添加事件的步骤HFiled.HeaderText
="查看";
为GRIDVIEW中的控件动态添加事件的步骤
this.GridView1.Columns.Insert(GridView1.Columns.Count,HFiled);
为GRIDVIEW中的控件动态添加事件的步骤
this.GridView1.DataSource=dataset.Tables[0];
为GRIDVIEW中的控件动态添加事件的步骤GridView1.AutoGenerateColumns
=false;
为GRIDVIEW中的控件动态添加事件的步骤GridView1.AllowSorting
=true;
为GRIDVIEW中的控件动态添加事件的步骤GridView1.BorderWidth
=5;
为GRIDVIEW中的控件动态添加事件的步骤GridView1.CellSpacing
=2;
为GRIDVIEW中的控件动态添加事件的步骤GridView1.DataBind();
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤//;
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤e.Row.Cells[
0].Visible=false;
为GRIDVIEW中的控件动态添加事件的步骤
if(e.Row.RowType==DataControlRowType.DataRow)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤Buttonbtn
=(Button)e.Row.Cells[e.Row.Cells.Count-1].Controls[0];
为GRIDVIEW中的控件动态添加事件的步骤
//btn.CommandArgument=Convert.ToString(e.Row.Cells[0]);//this.GridView1.Rows[e.Row.RowIndex].Cells[0].ToString();
为GRIDVIEW中的控件动态添加事件的步骤btn.Click+=newEventHandler(this.Button_Click);(放在这里也加不上)
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤//stringm=(e.Row.DataItemIndex).ToString();
为GRIDVIEW中的控件动态添加事件的步骤
//DataBinder.Eval(e.Row.DataItem,"HFiled");
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤protectedvoidGridView1_RowCreated(objectsender,GridViewRowEventArgse)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤
if(e.Row.RowType==DataControlRowType.DataRow)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤Buttonbtn
=(Button)e.Row.Cells[e.Row.Cells.Count-1].Controls[0];
为GRIDVIEW中的控件动态添加事件的步骤btn.CommandArgument
=Convert.ToString(e.Row.Cells[0]);//this.GridView1.Rows[e.Row.RowIndex].Cells[0].ToString();
为GRIDVIEW中的控件动态添加事件的步骤btn.Click+=newEventHandler(this.Button_Click);(这事件为什么加不上啊)
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤protectedvoidButton_Click(objectsender,EventArgse)
为GRIDVIEW中的控件动态添加事件的步骤为GRIDVIEW中的控件动态添加事件的步骤
{
为GRIDVIEW中的控件动态添加事件的步骤Session.Add(
"ID",(object)((Button)sender).CommandArgument);
为GRIDVIEW中的控件动态添加事件的步骤
if((int)Session["authentication"]==1)
为GRIDVIEW中的控件动态添加事件的步骤Response.Redirect(
"MainPageAdmin.aspx");
为GRIDVIEW中的控件动态添加事件的步骤
elseif((int)Session["authentication"]==2)
为GRIDVIEW中的控件动态添加事件的步骤Response.Redirect(
"MainPageChina.aspx");
为GRIDVIEW中的控件动态添加事件的步骤
elseif((int)Session["authentication"]==3)
为GRIDVIEW中的控件动态添加事件的步骤Response.Redirect(
"MainPageClinic.aspx");
为GRIDVIEW中的控件动态添加事件的步骤
elseif((int)Session["authentication"]==4)
为GRIDVIEW中的控件动态添加事件的步骤Response.Redirect(
"MainPageNurse.aspx");
为GRIDVIEW中的控件动态添加事件的步骤
else
为GRIDVIEW中的控件动态添加事件的步骤Response.Redirect("error.aspx");
为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤}

为GRIDVIEW中的控件动态添加事件的步骤
为GRIDVIEW中的控件动态添加事件的步骤