2011-08-30 31 views
0

我需要從前端傳遞參數使用中繼器控制 我的前端代碼到後端:ASP.NET Repeater控件:如何從前端傳遞參數中繼器ItemCommand事件

<asp:Repeater ID="Repeater1" runat="server" 
      onitemdatabound="Repeater1_ItemDataBound" 
      onitemcommand="Repeater1_ItemCommand"> 
.... 
<asp:Button ID="btn_Reply" runat="server" Text="Reply" CommandName="Reply" CommandArgument='<%Eval("id").ToString() %>'/> 
.... 
</asp:Repeater> 

Repeater1_ItemCommand事件在後端:

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    switch (e.CommandName) 
    { 
     case "Reply": 
      ReplyThread(Convert.ToInt32(e.CommandArgument)); 
      break; 
     case "Edit": 
      EditThread(Convert.ToInt32(e.CommandArgument)); 
      break; 
     case "Delete": 
      DeleteThread(Convert.ToInt32(e.CommandArgument)); 
      break; 
    } 
} 

當點擊回覆按鈕,爲什麼它說e.CommandArgument是不正確的格式,在調試模型中的價值只是一堆字符串:<%的eval(「ID」)的ToString()%> ,而不是id值。

有什麼想法?

回答

2

試試這個,而不是你其他的eval:

<%# Eval("id").ToString() %> 
+0

我能說什麼。我犯了一個愚蠢的錯誤,我認爲還有其他一些問題。欣賞它! –

+0

發生了......並歡迎您...... :) – gislikonrad

相關問題