2010-10-27 140 views
1

我用我的asp.net web页面上独立的DataItem服务器控件内2点了LinkBut​​ton的LinkBut​​ton的OnCommand问题

<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不是我所期望的。这并不是说的物品1,但一个是我最初设定作为数据源为ITEM2的DataList控件。它不会给我最新的dataitem字符串值,我期望从item2 linkbutton中获得。可能是什么问题?我错在哪里?

而且,ITEM2时,只有在第一次,而不是之后所触发的?我正在做一些愚蠢的错误吗?

+0

我猜想,第二个链接按钮被放错了地方:) – SWeko 2010-10-27 15:35:35

+0

他们在ItemTemplate标签内的2个独立的DataList控件粘贴粘贴。 item1内的datalist1标签和item2内的datalist2标签。那是错的吗? – zack 2010-10-27 15:37:42

回答

0

在命令参数,你不是在数据项提供的属性名

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

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

1

我得到了这个问题。我没有将if(!IsPostBack)作为我的无效Page_Load方法中的第一条语句!那真是愚蠢。非常感谢您的时间和想法。