<Columns>
<asp:BoundField DataField="sort" HeaderText="排序" SortExpression="sort" />
<asp:TemplateField HeaderText="删除"><ItemTemplate><asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("id") %>'
OnClientClick="return confirm('确定删除此条线路?')" nCommand="LinkButton1_Command">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="修改"><ItemTemplate> <a href='linetype.aspx?bigClass=<%=Request.QueryString["bigClass"].ToString() %>&id=<%#Eval("id") %>'>修改</a> </ItemTemplate></asp:TemplateField>
</Columns>
我在LinkButton里写了个OnCommand事件,后台写了个public virtual void LinkButton1_Command(object sender, CommandEventArgs e)的方法,但是它老是不执行这个方法,我后来在删除里又写了个onclick方法,也是不执行,但是onclientclick是执行的,我看了下网上说要到page_load里注册个东西,不明白,求解答
下面是LinkButton的在可户端的源代码
<a id= "LinkButton1 " OnCommand= "link_Click " href="#" 'LinkButton1 ', ' ') "> LinkButton </a>
从上面可以看出这只是html里的一个锚点,其中有一个Js添加的事件。
以Attributes添加的OnCommand事件对于IE来说,根本就不认识,自然不执行了。
求解决方法
在LinkButton中,只能通过CommandName, CommandArgument传递参数。
事件处理需要在Repeater的OnItemCommand中进行。
不是太明白,能详细点么
@colyn: 不好意思,直接在LinkButton中使用OnCommand也是可以的,参考文章:
直接用OnClick试试,
OnClick 不行,还有别的方法么?
实在没得解决方案的话,你用ajax嘛
我是想知道,它为什么不执行,别人机子上都可以的,我机子就不行
@colyn: 有个说法是 事件冒泡 Command事件就是这样 你在页面点击 linkbutton 后 后台到达 Repeater或者是其它数据控件 的 Command 事件 就会停止 所以必须linkbutton 的command事件 会在 父控件中执行
@havid: 怎么样才能让它执行呢?有的页面行,但是有些又不行?对于那些不行的,有什么办法解决么?
在网上搜了一位大侠,他说动态绑定数据不能放在IsPostBack 我后来一看,我就是这么写的,去掉就行了,感谢几位,分都不能每个人给,我就选个说的比较详细的把