动态添加的linkbutton,无法触发点击事件,在线等,解决立马结贴

zjxylc 2011-08-29 02:34:41

protected void Command(Object sender, CommandEventArgs e)
{
LinkButton lk = sender as LinkButton;
Session["CodeResult"] = "123";
Session["TimeResult"] = "asdf";
}

protected void SearchEnterpriseDetail(String stryear,String strseason,String strcode)
{
String text = stryear.ToString() + "年" + CovertToSeason(strseason).ToString() + "生产经营情况表";
System.Web.UI.WebControls.LinkButton linkbutton = new LinkButton();
linkbutton.ID = "12";
linkbutton.Text = text;
linkbutton.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Command);
linkbutton.CommandName = strcode;
linkbutton.CommandArgument = CovertToTime(stryear, strseason).ToString();

// linkbutton.Click += new EventHandler(click);
linkbutton.PostBackUrl = "/mSearchInfo.aspx";
this.plLink.Controls.Add(linkbutton);
this.plLink.Controls.Add(new LiteralControl(" <br /> <br />"));
}

我要动态添加一些linkbutton,当然示例只有一个,在添加的button中注册一个单击事件,Command,但是我单击的时候根本没有进入Command函数,求高人解答。
...全文
587 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
谢谢各位了,分值不多,下次争取多点,人人有份
flybisu 2011-08-29
  • 打赏
  • 举报
回复
pageload
Ispostback 检查下这个
zhangshg2008 2011-08-29
  • 打赏
  • 举报
回复
你的linkbutton是动态加的,在你执行加事件的方法时确实已经把事件加上了,但你点击linkbutton时,页面回发了,linkbutton的事件丢了,没有存下状态
梦纷飞舞 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zjxylc 的回复:]

引用 9 楼 lmaohuanl 的回复:

不存在吧,不知道你那里写错了没
linkbutton.PostBackUrl = "/mSearchInfo.aspx";//这句代码你先注释掉看到第是那里错了

找到原因了,如果把SearchEnterpriseDetail()函数的调用放在page_load里,且不在if(!Ispostback)里,则会进入单击事件,如果放在if(!I……
[/Quote]

你把创建linkbutton放到一个私有方法里,然后调用不就好了嘛,把你的那些参数用ViewState存储,OK?
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 slife890809 的回复:]

是没给ID。。第一次没有ID,他会先给自己付一个ID,所以第一次没走事件,然后你点第二次的时候才会进去。。。。如果你给个ID,就不会了!!!你可以试试,这种问题我也犯过。。。。呵呵
[/Quote]
linkbutton.ID = "12"; 虽然尝试的时候ID赋值名称不好,但还是有的,呵呵
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lmaohuanl 的回复:]

不存在吧,不知道你那里写错了没
linkbutton.PostBackUrl = "/mSearchInfo.aspx";//这句代码你先注释掉看到第是那里错了
[/Quote]
找到原因了,如果把SearchEnterpriseDetail()函数的调用放在page_load里,且不在if(!Ispostback)里,则会进入单击事件,如果放在if(!IsPostBack)里或则通过单击一个button调用这个函数都不会进入Command事件,但是我的功能必须在单击button建之后才调用这个函数,我该如何修改才好
行游客 2011-08-29
  • 打赏
  • 举报
回复
linkbutton.PostBackUrl = "/mSearchInfo.aspx";
你把上面这段代码注销掉,就可以调试进去了,加上这句,触发command事件之前,页面已经跳转了。
梦纷飞舞 2011-08-29
  • 打赏
  • 举报
回复
是没给ID。。第一次没有ID,他会先给自己付一个ID,所以第一次没走事件,然后你点第二次的时候才会进去。。。。如果你给个ID,就不会了!!!你可以试试,这种问题我也犯过。。。。呵呵
LMAOhuaNL 2011-08-29
  • 打赏
  • 举报
回复
不存在吧,不知道你那里写错了没
linkbutton.PostBackUrl = "/mSearchInfo.aspx";//这句代码你先注释掉看到第是那里错了
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lmaohuanl 的回复:]
protected void Command(Object sender, CommandEventArgs e)
{
LinkButton lk = sender as LinkButton;
Session["CodeResult"] = "123";
Session["TimeResult"]……
[/Quote]

我照这样尝试了一次,单步的时候还是无法进入注册单击事件函数Command
LMAOhuaNL 2011-08-29
  • 打赏
  • 举报
回复


protected void Command(Object sender, CommandEventArgs e)
{
LinkButton lk = sender as LinkButton;
Session["CodeResult"] = "123";
Session["TimeResult"] = "asdf";
Response.Redirect(linkbtn.IsPostUrl); //你在那边就别跳,在这个方法里面加上这句,或者看我给的那个链接里面的那个例子一样做

}

BrucesLong 2011-08-29
  • 打赏
  • 举报
回复

先确认:
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"
oncommand="Button1_Command" />
再检查command事件是否些正确: protected void Button1_Command(object sender, CommandEventArgs e)
{

}

一点一点的排查,希望对你有所帮助.
powerchuangwai 2011-08-29
  • 打赏
  • 举报
回复
帮顶,单步跟踪一下就知道了。
LMAOhuaNL 2011-08-29
  • 打赏
  • 举报
回复
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lmaohuanl 的回复:]

但是你的Command事件什么都没有做,就是给存储在session里面的信息赋值而已
[/Quote]
如果可以进得话,至少单步调式可以进,但是调式的时候根本就没有进入这个函数,直接转到目标页了。
LMAOhuaNL 2011-08-29
  • 打赏
  • 举报
回复
但是你的Command事件什么都没有做,就是给存储在session里面的信息赋值而已
zjxylc 2011-08-29
  • 打赏
  • 举报
回复
我网上找过几个看过,他们也是这么写的,就是不知道为什么我的不行,先顶个
最新版本的jQuery EasyUI 1.3.6版全中文API汉化文档火热出炉,由于很多人和我要chm格式的,所以本次API我提供了2种版本的API,一个还是以前的EXE格式,另外一个就是人气颇高的chm格式。本次还将EasyUI 1.3.6版直接提供到API包里面,方便没有去官网下载的人直接使用。请大家持续关注我发布的资源,不出意外,我是会一直持续更新本API文档的。本次更新内容大约有30个,Bug修复的只有2个,剩下的全是新增内容,EasyUI的控件已经越来越好用了,顶一个。但是希望能把性能也提升提升,总是感觉在某些情况下EasyUI的性能不是太好。具体更新内容请看下面的说明: jQuery EasyUI 1.3.6版本更新内容: Bug(修复) treegrid:修复“getChecked”方法不能正确的返回被选择的行的问题; tree:修复在“onlyLeafCheck”属性为true时,复选框无法在异步树种正确显示的问题。 Improvement(改进) treegrid:所有的选择和选中的方法都扩展自datagrid组件; linkbutton添加图标对齐功能的完整支持,可用值有:“top”、“bottom”、“left”、“right”; linkbutton添加“size”属性,可用值有:“small”、“large”; linkbutton添加“onClick”事件; menubutton添加“menuAlign”属性,该属性允许用户设置顶级菜单对齐; combo:添加“panelAlign”属性,可用值有:“left”、“right”; calendar:添加“formatter”、“styler”和“validator”属性,这些属性允许用于自定义日历日期; calendar:添加“onChange”事件; panel:添加“method”、“queryParams”和“loader”选项; panel:添加“onLoadError”事件; datagrid:添加“onBeginEdit”事件,该事件在一个行进入编辑模式时触发; datagrid:添加“onEndEdit”事件,该事件在完成编辑但是编辑器尚未销毁之前触发; datagrid:添加“sort”方法和“onBeforeSortColumn”事件; datagrid:将“combogrid”编辑器集成到datagrid中; datagrid:添加“ctrlSelect”属性,在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作; slider:添加“converter”属性,该属性允许用户决定如何将一个值转换为进度条位置或进度条位置值; searchbox:添加“disabled”属性; searchbox:添加“disable”、“enable”、“clear”、“reset”方法; spinner:添加“readonly”属性、“readonly”方法和“onChange”事件。
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签 1.3.6更新 Bug treegrid: getChecked方法不能返回正确的行. fixed. tree: 异步树,在onlyLeafCheck:true时复选框不显示正确. fixed. Improvement treegrid:继承datagrid组件所有的selecting和checking方法。 linkbutton:图标对齐方式,支持值:'top','bottom','left','right'。 linkbutton:添加"size"属性,支持值:'small','large'。 linkbutton:添加的onClick事件。 menubutton:添加"menuAlign"属性,允许用户设置顶级菜单对齐。 combo:添加"panelAlign"属性,支持值:'left','right'。 calendar:"formatter"、"styler"和"validator"选项可用于自定义日历日期。 calendar:添加的onChange事件。 panel:添加"method","queryParams"和"loader"属性。 panel:添加"onLoadError"事件。 datagrid:添加"onBeginEdit"事件。 datagrid:添加"onEndEdit"事件。 datagrid:添加"sort"方法和"onBeforeSortColumn"事件。 datagrid:"combogrid"编辑器集成到datagrid。 datagrid:添加"ctrlSelect"属性,允许使用ctrl+click 多选 slider:添加"converter"选项,允许用户决定如何将一个值转换为滑块的位置或滑块位置值。 searchbox:添加"disabled"属性。 searchbox:添加"disabled","enable","clear","reset"方法。 spinner:添加"readonly"属性、"readonly"方法和"onChange事件。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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