关于linkbutton 的 OnCommand 属性问题(在线等)

phili1999 2003-06-24 01:25:06
我在使用linkbutton时遇到这样一个问题:
当在页面里直接把Oncommand 属性指向"link_click"过程时没有问题但
当我在程序里指定时确没有反映,根本没有调用
代码一
<asp:LinkButton id="LinkButton1" runat="server" CommandName="test" OnCommand="link_click">LinkButton</asp:LinkButton>
结果执行了
代码二
<asp:LinkButton id="LinkButton1" runat="server" CommandName="test">LinkButton</asp:LinkButton>
.vb代码
LinkButton1.Attributes("OnCommand") = "link_Click"
结果没执行
请帮忙看看
...全文
125 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
babytong 2003-06-26
  • 打赏
  • 举报
回复
你的link_click事件应该是注册了的事件,你可以去查一下
babytong 2003-06-26
  • 打赏
  • 举报
回复
Sub link_Click(ByVal sender As Object, ByVal e As CommandEventArgs)_ HandlesLinkButton1.Command
end sub
这样的方法是间接注册事件
OK521 2003-06-26
  • 打赏
  • 举报
回复
LinkButton1.Attributes("OnCommand") = "link_Click
这是可户端的事件。肯定不能实行
phili1999 2003-06-26
  • 打赏
  • 举报
回复
没有用你可以试一下
goody9807 2003-06-26
  • 打赏
  • 举报
回复
<asp:LinkButton id="LinkButton1" runat="server" CommandName="test">LinkButton</asp:LinkButton>
~~~~~~~
.vb代码
LinkButton1.Attributes("OnCommand") = "link_Click

commandname="link_Click"
phili1999 2003-06-26
  • 打赏
  • 举报
回复
默认在HTML页面里指定OnCommand时CodeBehind里没有添加任何代码
它也能执行,而在Page_load中修改linkbutton1的Attributes("OnCommand")属性为他指定
执行函数确不行。
我找到了方法不指定OnCommand=
在事件函数声明的时候使用
Handles LinkButton1.Command
如:
Sub link_Click(ByVal sender As Object, ByVal e As CommandEventArgs)_ HandlesLinkButton1.Command
end sub
希望对大家有帮助
phili1999 2003-06-26
  • 打赏
  • 举报
回复
是这样的吗,我试试,先谢了再说
babytong 2003-06-26
  • 打赏
  • 举报
回复
你在页面添加的时候真的没有在InitializeComponent里进行注册?可我的注册了的。如果不注册系统是不会执行事件的
phili1999 2003-06-26
  • 打赏
  • 举报
回复
我知道可以通过注册事件来完成,但是为什么页面指定一个OnCommand就不需注册事件呢,而在CodeBehind里写的时候使用OnCommand就不行
greystar 2003-06-26
  • 打赏
  • 举报
回复
没有注册事件,你看一下命令按钮是如何注册的。
babytong 2003-06-26
  • 打赏
  • 举报
回复
总结一下:
/***************
代码一
<asp:LinkButton id="LinkButton1" runat="server" CommandName="test" OnCommand="link_click">LinkButton</asp:LinkButton>
结果执行了
****************/
原因:事件link_click是已经注册的事件。OnCommand指定LinkButton关联的事件名称,单击 LinkButton 控件时会引发 OnCommand 事件,也就可以顺利执行。
/*******************
代码二
<asp:LinkButton id="LinkButton1" runat="server" CommandName="test">LinkButton</asp:LinkButton>
.vb代码
LinkButton1.Attributes("OnCommand") = "link_Click"
结果没执行
******************/
LinkButton1.Attributes("OnCommand") = "link_Click"
这句没问题。据我说知,使用Attributes来更改服务器端的属性,一定是在IIS解析为客户端控件所具有的事件和属性。以下是Attributes的微软解释:
(Attributes 集合包含在 Web 服务器控件的开始标记中声明的所有属性的集合。这使您得以以编程方式控制与 Web 服务器控件关联的属性。您可以将属性添加到此集合或从此集合中移除属性。)
下面是LinkButton的在可户端的源代码
<a id="LinkButton1" OnCommand="link_Click" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
从上面可以看出这只是html里的一个锚点,其中有一个Js添加的事件。
以Attributes添加的OnCommand事件对于IE来说,根本就不认识,自然不执行了。


xiongliang2003 2003-06-24
  • 打赏
  • 举报
回复
LinkButton1.Attributes("OnCommand") = "link_Click" 这加的客户端事件,客户端没有这个事件,服务端是不认的
phili1999 2003-06-24
  • 打赏
  • 举报
回复
没有,我放在form里的你们可以试一下看
KelvinWong 2003-06-24
  • 打赏
  • 举报
回复
你是不是放在 Datagrid或者别的容器里边了?
phili1999 2003-06-24
  • 打赏
  • 举报
回复
试过了没有用
xueqs 2003-06-24
  • 打赏
  • 举报
回复
试试LinkButton1.Attributes.add("OnCommand") = "link_Click"

62,046

社区成员

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

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

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

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