1


1

背後にあるコードでメソッドを呼び出すリンクボタンがあります。 メソッドはcontainer.dataitemに固執する必要があるパラメータを取ります。 container.dataitemの構文は他のコントロールで使用しているため、正しいことがわかります。 私が知らないのは、それをメソッドのパラメータとして使う方法です。 ボタンをクリックすると、メソッドはcontainer.dataitemで呼び出されます。 メソッドは 'AddFriend(string username)'と呼ばれます。以下はコードです。 ありがとうございました!


3 Answer


0


ButtonFieldを使用して、RowCommandでクリックを処理する必要があります。 MSDNのドキュメントを確認してください。


そして背後にあるコードで…​

void ContactsGridView_RowCommand(Object sender、GridViewCommandEventArgs e){if(e.CommandName == "Add"){AddFriend(DataBinder.Eval(Container.DataItem、 "Price" "UserName")); }}


0


同じことがデータリストにも当てはまると思いますが、私は後ろのコードでこれをリピーターとして使っています。 Repeaterの代わりにDataListItemEventArgsとDataListCommandEventArgsを使用することもできます。

protected void rptUserInfo_Data(オブジェクトセンダ、RepeaterItemEventArgs e){if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){UserInfo oUserInfo = e.Item.DataItem as UserInfo;

LinkBut​​tonとしてのhlUser = e.Item.FindControl( "hlUser")。 hlUser.Text = oUserInfo.Name; hlUser.CommandArgument = oUserInfo.UserID ";" oUserInfo.uName; hlUser.CommandName = "User"; public void UserArtItem_Command(Object sende、RepeaterCommandEventArgs e){if(e.CommandName == "User"){string command = e.CommandArgument.ToString();} string [] split = command.Split(new Char [] {';'});

Session ["ArtUserId"] = split [0]; Session ["ArtUserName"] = split [1]; Response.Redirect( "〜/ Author /" split [1]); }}


0


たぶんこれ?


それからコードで:

保護されたSub AddFriend(オブジェクトとしてのByVal送信者、System.Web.UI.WebControls.CommandEventArgsとしてのByVal e)Dim UserNameとしてのString = e.CommandArgument 'その他のコードEnd Sub