asp.net里button_click方法使用问题

在页面上我有多个“添加”按钮,每个按钮的实现的效果是一样的,就是按下按钮都是放后面的textbox里面加入前面下拉框里面选择的人的姓名,但我不想每个按钮都写一个click... 在页面上我有多个“添加”按钮,每个按钮的实现的效果是一样的,就是按下按钮都是放后面的textbox里面加入前面下拉框里面选择的人的姓名,但我不想每个按钮都写一个click方法,我想只写一个click方法,每个button click 的时候调用就行了,请大神指点 展开
 我来答
handangaoyang
2013-10-22 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:878万
展开全部

这个只要写一个click事件,然后所有的按钮都调用这个click事件就可以了。具体代码如下:


页面代码:

<!--比如页面上有两个button,都调用同一个btn_Click-->
<asp:Button ID="btn1" runat="server" OnClick="btn_Click" />
<asp:Button ID="btn2" runat="server" OnClick="btn_Click">

后台代码:

protected void btn_Click(object sender,EventArgs e)
{
    //得到当前触发点击事件的按钮
    Button btn = sender as Button;
    
    //得到当前按钮所在的行(比如,你用的是Repeater控件(GridView也行,不同的是行的类型不同罢了))
    RepeaterItem item = btn.NamingContainer as RepeaterItem;
    
    //找到下拉控件(这里最好是下拉框的Id与btn的Id有关联,这样方便查找)
    DropDownList ddl = item.FindControl("ddl"+btn.ID) as DropDownList; 
    
    //找到textbox控件(一样的,也有关联)
    TextBox txt = item.FindControl("txt"+btn.ID) as TextBox;
    
    //赋值
    txt.Text = ddl.SelectedItem.Text;
}
zwbalz
2013-10-21 · TA获得超过253个赞
知道小有建树答主
回答量:439
采纳率:50%
帮助的人:248万
展开全部
定义一个共用方法就OK啦!!
protected void CmdComm_Click(object sender, EventArgs e)
{
switch (((Button)sender).ID.ToString())
{
case "cmd1": //按钮1
//按钮1的事件
break;
case "cmd2": //按钮2
//按钮2的事件
break;
.........//以此类推
}
}
是不是要这样的效果
按钮的Click事件调用这个方法就OK啦!!
追问
问题是,我按钮1和按钮2,所有的按钮事件都是实现同一个功能,只是每个按钮的ID不一样,textbox的ID也不一样。我不想按钮1下面写按钮1的事件,按钮2里面写按钮2的事件,我只是想写一个方法,然后每次按钮调用就行了。你这样写的话,我还是每个按钮下面还是要写一次方法呀。
追答
怎么会呢!!你把 CmdComm_Click这个方法名copy到你按钮的Click属性那里不就OK了吗??
我的也是这样哦!!你不要再双击那个按钮啦!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6bfb3f7
2013-10-21 · 超过29用户采纳过TA的回答
知道答主
回答量:91
采纳率:50%
帮助的人:42.1万
展开全部
和你说一下思路, 帮文本框的值赋给下拉狂,你可以只用一个提交按钮bu用写这么多的,在一个提交事件里面写赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式