linkbutton oncommand issue

时间:2010-10-27 15:30:15

标签: c# asp.net asplinkbutton datalistitem commandargument

我在我的asp.net网页上使用了单独的dataitem服务器控件中的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();    

它确实给了我正确的名称,但命令arugument

e.CommandArgument.ToString().Trim();  
对于item2的

不是我所期望的。它不是item1的,而是我最初设置为item2的datalist控件的数据源的那个。它没有给出我期望的item2 linkbutton的最新dataitem字符串值。可能是什么问题?我哪里错了?

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

2 个答案:

答案 0 :(得分:1)

我遇到了问题。我没有在我的void Page_Load方法中包含if(!IsPostBack)作为第一个语句!!那是我的愚蠢。非常感谢您的所有时间和想法。

答案 1 :(得分:0)

在命令参数中,您没有在数据项

中提供属性名称
"<%# Container.DataItem.ProeprtyName %`>"

假设您的数据源是User对象,并且您需要userid作为命令参数,它应该是<%# Container.DataItem.UserID%&gt;`