asp.net中怎么删除自动生成的label控件的值

2013-03-09 09:42:26
public void NewLabel(string value, string columnname)
{
Label lab = new Label();
lab.ID = columnname + 1;
lab.Text = value;
lab.Visible = true;
this.myID.Controls.Add(lab);

LinkButton labclose = new LinkButton();
labclose.ID = columnname + 2;
labclose.Text = "×";
labclose.Style.Add("color", "red");
this.myID.Controls.Add(labclose);

labclose.Click += new EventHandler(labclose_click); //关闭
}
同时生成Label和LinkButton 两个控件,,怎么在点击LinkButton X这个控件的时候清空label控件 的值
...全文
289 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
2013-03-09
  • 打赏
  • 举报
回复
引用 11 楼 gxingmin 的回复:
那是服务器端事件挥发了,跟这个事件代码没关系了,你把这个事件里代码全部注销,也一样全部清空 你在前台js里处理删除事件吧,别在后台处理
啊? 就不搭理我了啊?
2013-03-09
  • 打赏
  • 举报
回复
引用 11 楼 gxingmin 的回复:
那是服务器端事件挥发了,跟这个事件代码没关系了,你把这个事件里代码全部注销,也一样全部清空 你在前台js里处理删除事件吧,别在后台处理
这个控件都在后台生成的啊?那前台js怎么处理?
gxingmin 2013-03-09
  • 打赏
  • 举报
回复
那是服务器端事件挥发了,跟这个事件代码没关系了,你把这个事件里代码全部注销,也一样全部清空 你在前台js里处理删除事件吧,别在后台处理
2013-03-09
  • 打赏
  • 举报
回复
引用 9 楼 gxingmin 的回复:
LinkButton lblClose = sender as LinkButton ; foreach(Control c in myID.Controls) { if(c is Label && c.ID==lblClose.ID.SubString(0,lblClose.ID.Length-1)) c.Text=""; }
还是一样只是全部隐藏掉了,并没有清空。 //关闭事件 private void labclose_click(object sender, System.EventArgs e) { LinkButton lblClose = sender as LinkButton; foreach (Control c in myID.Controls) { if (c is Label && c.ID == lblClose.ID.Substring(0, lblClose.ID.Length - 1)) (c as Label).Text = ""; } }
gxingmin 2013-03-09
  • 打赏
  • 举报
回复
LinkButton lblClose = sender as LinkButton ; foreach(Control c in myID.Controls) { if(c is Label && c.ID==lblClose.ID.SubString(0,lblClose.ID.Length-1)) c.Text=""; }
2013-03-09
  • 打赏
  • 举报
回复
[quote=引用 7 楼 chenyuling_28 的回复:] 引用 6 楼 gxingmin 的回复: c.Text=""; 改成 (c as Label).Text=""; 我的第一个label控件显示的是多个字段的值,不是同一个字段, public void GetDate() { string sqlGetType = "SELECT DISTINCT data1.VideoPath,data1.VideoPoint, pl.game_id, pl.playact_id,pl.number, sv.varvalue,pr.proj_name,mp.match_name,un.unit_name,pl.sporters_name,pl.end_time,pl.get_1,pl.get_2,pl.get_3,pl.s_total FROM web_video.web_video_game data1 LEFT JOIN taolu_detailquery.system_var sv ON data1.database_game_id=sv.game_id LEFT JOIN taolu_detailquery.playact pl ON sv.game_id=pl.game_id LEFT JOIN taolu_detailquery.project pr ON pl.project_id=pr.project_id AND pl.game_id=pr.game_id LEFT JOIN taolu_detailquery.palyact_list pal ON pl.playact_id=pal.playact_id AND pl.game_id=pal.game_id LEFT JOIN taolu_detailquery.sporter sp ON pal.sporter_id=sp.sporter_id AND pal.game_id=sp.game_id LEFT JOIN taolu_detailquery.match_project mp ON pr.match_id=mp.match_id LEFT JOIN taolu_detailquery.units un ON sp.unit_id=un.unit_id AND sp.game_id=un.game_id WHERE data1.database_game_id=sv.game_id AND pl.playact_id=pal.playact_id AND pal.sporter_id=sp.sporter_id AND sp.unit_id=un.unit_id AND pr.game_id=sv.game_id AND pl.number!=2 AND (sv.varvalue LIKE " + "'%" + getSreach + "%' OR pl.sporters_name LIKE " + "'%" + getSreach + "%' OR pr.proj_name LIKE " + "'%" + getSreach + "%' OR un.unit_name LIKE " + "'%" + getSreach + "%' OR sv.Game_Rule LIKE " + "'%" + getSreach + "%' OR sv.Game_Date LIKE " + "'%" + getSreach + "%') "; if (type != "") { string stype = " AND sv.Game_Type='" + type + "'" ; sqlGetType += stype; NewLabel(type, "sv.Game_Type"); } if (rule != "") { string srule = " AND sv.Game_Rule='" + rule + "'"; sqlGetType += srule; NewLabel(rule, "sv.Game_Rule"); } if (date != "") { string sdate = "AND YEAR(sv.Game_Date)='" + date + "'"; sqlGetType += sdate; NewLabel(date, "YEAR(sv.Game_Date)"); } if (varvalue != "") { string svarvalue = "AND sv.varvalue='" + varvalue + "'"; sqlGetType += svarvalue; NewLabel(varvalue, "sv.varvalue"); } if (match != "") { string smatch = " AND mp.match_name='" + match + "'"; sqlGetType += smatch; NewLabel(match, "mp.match_name"); } string by = " ORDER BY pl.playact_no,pr.datetime,pr.field,pr.project_no ASC "; sqlGetType += by; this.ListView1.DataSource = DBHelper.GetDataSet(sqlGetType).Tables[0]; this.ListView1.DataBind(); } public void NewLabel(string value, string columnname) { Label lab = new Label(); lab.ID = columnname + 1; lab.Text = value; lab.Visible = true; this.myID.Controls.Add(lab); LinkButton labclose = new LinkButton(); labclose.ID = columnname + 2; labclose.Text = "×"; labclose.Style.Add("color", "red"); this.myID.Controls.Add(labclose); labclose.Click += new EventHandler(labclose_click); //关闭 } 然后显示的结果是 :竞技 传统 类型:国际 国内 年份:2011 2012 2013 筛选的条件:竞技X 国际X 2012X 我要的效果是点击2012的X的时候  就是把2012的值清空
2013-03-09
  • 打赏
  • 举报
回复
引用 6 楼 gxingmin 的回复:
c.Text=""; 改成 (c as Label).Text="";
这样做出的效果就是,我点击一个字段的X 全部的都的label控件都会隐藏,而并不是一个,而且他们也只是不显示 并不是清空。
gxingmin 2013-03-09
  • 打赏
  • 举报
回复
c.Text=""; 改成 (c as Label).Text="";
  • 打赏
  • 举报
回复
引用 4 楼 chenyuling_28 的回复:
引用 3 楼 gxingmin 的回复:你要是不知道columnname,那你就用遍历吧 foreach(Control c in myID.Controls) { if(c is Label) c.Text=""; } 这样子会报错, System.Web.UI.Control”不包含“Text”的定义,并且找不到可接受类型为“S……
myID.Controls.OfType<TextBox>().ToList().ForEach(t=>t.Text="");
2013-03-09
  • 打赏
  • 举报
回复
引用 3 楼 gxingmin 的回复:
你要是不知道columnname,那你就用遍历吧 foreach(Control c in myID.Controls) { if(c is Label) c.Text=""; }
这样子会报错, System.Web.UI.Control”不包含“Text”的定义,并且找不到可接受类型为“System.Web.UI.Control”的第一个参数的扩展方法“Text”(是否缺少 using 指令或程序集引用?)
gxingmin 2013-03-09
  • 打赏
  • 举报
回复
你要是不知道columnname,那你就用遍历吧 foreach(Control c in myID.Controls) { if(c is Label) c.Text=""; }
2013-03-09
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
Labe lbl =myID.FindControl(columnname + 1) as Label if(lbl!=null) lbl.Text="";
在labclose.Click 事件里面直接这样写吗?
gxingmin 2013-03-09
  • 打赏
  • 举报
回复
Labe lbl =myID.FindControl(columnname + 1) as Label if(lbl!=null) lbl.Text="";
2013-03-09
  • 打赏
  • 举报
回复
引用 11 楼 gxingmin 的回复:
那是服务器端事件挥发了,跟这个事件代码没关系了,你把这个事件里代码全部注销,也一样全部清空 你在前台js里处理删除事件吧,别在后台处理
拜托拜托,对js真心不懂

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧