1

asp.net Webページの個別の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();    

それは私に正しい名前を与えますが、コマンド引数

e.CommandArgument.ToString().Trim();  

item2 は私が期待するものではありません。これは item1 のものではなく、item2 のデータリスト コントロールのデータソースとして最初に設定したものです。item2 linkbutton から期待している最新の dataitem 文字列値が得られません。何が問題になる可能性がありますか? どこが間違っていますか?

また、item2 のイベントは初めて発生し、その後は発生しませんか? 私がやっているばかげた間違いはありますか?

4

2 に答える 2

1

問題が発生しました。void Page_Load メソッドの最初のステートメントとして if(!IsPostBack) を含めていませんでした!! それは私の愚かでした。とにかく、あなたのすべての時間とアイデアに感謝します.

于 2010-10-27T16:35:35.650 に答える
0

コマンド引数で、データ項目にプロパティ名を指定していません

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

データソースが User オブジェクトであり、コマンド引数としてユーザー ID が必要であるとします<%# Container.DataItem.UserID%>`

于 2010-10-27T16:11:20.380 に答える