1

我在我的 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 的 datalist 控件的数据源的那个。它没有给我我期望的 item2 链接按钮的最新数据项字符串值。可能是什么问题?我哪里错了?

此外, item2 的事件仅在第一次触发而不是在那之后?我在做一些愚蠢的错误吗?

4

2 回答 2

1

我有问题。我没有将 if(!IsPostBack) 作为我的 void Page_Load 方法中的第一条语句!那是我的愚蠢。无论如何,感谢您的所有时间和想法。

于 2010-10-27T16:35:35.650 回答
0

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

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

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

于 2010-10-27T16:11:20.380 回答