链接按钮命令问题

发布于 2024-09-29 13:46:37 字数 922 浏览 4 评论 0原文

我在我的 asp.net 网页上的单独数据项服务器控件内使用 2 个链接按钮

<asp:LinkButton ID="Item1" runat="server"  CommandName="first"  
      OnCommand="Item1_Onclick" CommandArgument="<%# Container.DataItem %`>"  
      Text="<%# Container.DataItem %`>" >    
</asp:LinkButton`>

<asp:LinkButton ID="Item2" runat="server"  CommandName="second"  
      OnCommand="Item2_Onclick" CommandArgument="<%# Container.DataItem %`>"  
      Text="<%# Container.DataItem %`>" >    
</asp:LinkButton`>

当我在 c# 中提取命令名称时,

e.CommandArgument.ToString().Trim();    

它确实给了我正确的名称,但是

e.CommandArgument.ToString().Trim();  

item2 的命令参数不是我所期望的。它不是 item1 的数据源,而是我最初设置为 item2 的数据列表控件的数据源。它没有为我提供我期望从 item2 链接按钮中获得的最新数据项字符串值。可能是什么问题?我哪里错了?

另外,item2 的事件仅在第一次触发,之后不会触发?我犯了一些愚蠢的错误吗?

I am using 2 linkbuttons inside seperate dataitem server controls on my asp.net web page

<asp:LinkButton ID="Item1" runat="server"  CommandName="first"  
      OnCommand="Item1_Onclick" CommandArgument="<%# Container.DataItem %`>"  
      Text="<%# Container.DataItem %`>" >    
</asp:LinkButton`>

and

<asp:LinkButton ID="Item2" runat="server"  CommandName="second"  
      OnCommand="Item2_Onclick" CommandArgument="<%# Container.DataItem %`>"  
      Text="<%# Container.DataItem %`>" >    
</asp:LinkButton`>

When I extract the command name inside c# as

e.CommandArgument.ToString().Trim();    

it does give me the correct the name however the command arugument

e.CommandArgument.ToString().Trim();  

for item2 is not what I expect. It is NOT that of item1, but the one that I set initially as datasource for the datalist control of item2. It does not give me the latest dataitem string value that I am expecting out of item2 linkbutton. What can be the problem? Where am I wrong?

Also, the event for item2 is fired ONLY for the first time and not after that? Is there some silly mistake that I am doing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

救赎№ 2024-10-06 13:46:38

我遇到问题了。我没有将 if(!IsPostBack) 作为我的 void Page_Load 方法中的第一个语句包含在内!我真是愚蠢极了。不管怎样,感谢您的所有时间和想法。

I got the problem. I had not included the if(!IsPostBack) as the first statement in my void Page_Load method !! That was stupid of me. Thanks anyways for all your time and ideas.

薄荷港 2024-10-06 13:46:38

在命令参数中,您没有在数据项中提供属性名称

"<%# Container.DataItem.ProeprtyName %`>"

假设您的数据源是一个 User 对象,并且您需要用户 ID 作为命令参数,它应该是 <%# Container.DataItem.UserID%>>`

In the command argument you are not providing the property name in the data item

"<%# Container.DataItem.ProeprtyName %`>"

Say your datasource is a User object and you need the userid as the command argument it should be <%# Container.DataItem.UserID%>`

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文