asp.net里button_click方法使用问题
在页面上我有多个“添加”按钮,每个按钮的实现的效果是一样的,就是按下按钮都是放后面的textbox里面加入前面下拉框里面选择的人的姓名,但我不想每个按钮都写一个click...
在页面上我有多个“添加”按钮,每个按钮的实现的效果是一样的,就是按下按钮都是放后面的textbox里面加入前面下拉框里面选择的人的姓名,但我不想每个按钮都写一个click方法,我想只写一个click方法,每个button click 的时候调用就行了,请大神指点
展开
展开全部
这个只要写一个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;
}
展开全部
定义一个共用方法就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啦!!
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了吗??
我的也是这样哦!!你不要再双击那个按钮啦!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
和你说一下思路, 帮文本框的值赋给下拉狂,你可以只用一个提交按钮bu用写这么多的,在一个提交事件里面写赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询