您的位置:首页 > 其它

GridView中为按钮添加相应的事件

2008-10-27 17:26 405 查看
今天看一个兄弟在CSDN上发了一个帖子,问在GridView中为一个按钮加一个事件,其实就是让一个panel显示出来的问题。
个人认为这个问题的主要在于GridView中为一个按钮添加事件,并把相应的ID给它,只要有ID值了。省下的事就好办多了。
下面是我做的一个小测试。功能简单,代码如下,在VS2008下测试通过.net2.0
前台:

<asp:GridView ID="GridView1" runat="server" Height="174px" Width="355px"
onrowcommand="GridView1_RowCommand"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="false"
CommandName="view" CommandArgument='<%# Eval("ID")%>' onclick="Button1_Click1" Text="点击" />
</ItemTemplate>
</asp:TemplateField>
</Columns>

</asp:GridView>
<asp:Panel ID="Panel1" Visible="false" runat="server" Height="76px" Visible="False">
<asp:Label ID="Label2" runat="server"></asp:Label>
</asp:Panel>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
this.Label1.Text = "aaaaaaa";
if (!Page.IsPostBack)
{
getListBox();
}
}

public void getListBox()
{
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "ID";
dt.Columns.Add(dc);
DataColumn dc2 = new DataColumn();
dc2.ColumnName = "Name";
dt.Columns.Add(dc2);
DataRow dr;
for (int i = 0; i <= 5; i++)
{
dr = dt.NewRow();
dr["ID"] = i + 1;
dr["Name"] = "Name" + i;
dt.Rows.Add(dr);
}

this.GridView1.DataSource = dt;
this.GridView1.DataKeyNames = new string[] {"ID"};
this.GridView1.DataBind();
}

protected void Button1_Click1(object sender, EventArgs e)
{
string Tempstr = ((Button)sender).CommandArgument.ToString();
//Response.Write("<script>alert('"+Tempstr+"');</script>");

//这里我让Panel显示出来,并把相应的ID给label。知道了ID你就可惟做很多事了
this.Panel1.Visible = true;
this.Label2.Text = Tempstr;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: