我在我的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的事件仅在第一次触发而不是之后?我正在做一些愚蠢的错误吗?
答案 0 :(得分:1)
我遇到了问题。我没有在我的void Page_Load方法中包含if(!IsPostBack)作为第一个语句!!那是我的愚蠢。非常感谢您的所有时间和想法。
答案 1 :(得分:0)
在命令参数中,您没有在数据项
中提供属性名称"<%# Container.DataItem.ProeprtyName %`>"
假设您的数据源是User对象,并且您需要userid作为命令参数,它应该是<%# Container.DataItem.UserID%
&gt;`