2010-10-27 138 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方法中的第一條語句!那真是愚蠢。非常感謝您的時間和想法。