2011-12-09 6 views
5

私はListViewを持っていて、私はリンクを削除ボタンを設定しました。しかし、私が"The ListView 'ListView' raised event ItemDeleting which wasn't handled."を取得したので、私はDeleteLinkButton_Click()ListView_ItemDeleted()を実装しようと決めました...しかし、私はDeleteLinkButton_Click()のためにどの行を選択したのかを特定する方法が分かりません。コントロールによってバインドされていないlistviewでの削除の実行方法

私はコントロールからソースをバインドしませんでしたが、以下の方法を使用しました。

私がラベルの値にアクセスし、ストアドプロシージャに渡すと私のDELETEを実行することができ、私の行を識別することができるかどうかを図。

誰でも手助けできますか?より多くのコードを提供する必要がある場合は、私に知らせてください!

編集:

分離コード

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack Then 
     UpdateDisplay() 
    End If 
End Sub 

Protected Sub UpdateDistplay() 
    ListView.DataSource = myObject.RetrieveInfo() 
    ListView.DataBind() 
End Sub 

ASPXページ

<ItemTemplate> 
    <tr> 
     <td> 
     <asp:LinkButton ID="DeleteLinkButton" Text="Delete" CommandName="Delete" OnClientClick="return confirm('Delete this Info?')" runat="server"></asp:LinkButton> 
     </td> 
     <td> 
     <asp:Label ID="Name" runat="server" Text='<%# Bind("Name") %>'></asp:Label> 
     </td> 
    </tr> 
</ItemTemplate> 
+0

我々が起こっていただきました!のより良い画像を得ることができるので、いくつかのコードを投稿してください。編集のおかげで@daveomcd – gsirianni

答えて

2

あなたがそうすることを取り扱い、ItemDeletingイベントで削除されている項目のインデックスを見つけることができます最初にもう少しあなたを助けるかもしれません。この時点で

Protected Sub myListView_OnItemDeleting(ByVal sender As Object, ByVal e As ListViewDeleteEventArgs) 
    Dim deletedIndex As Integer 
    deletedIndex = e.ItemIndex 
End Sub 

(あなたはあなたの質問で述べたように)、あなたは今、削除ボタンクリックされた項目のインデックスを持っているので、ラベルを見上げるとDELETEを実行することができます。それはこのようになります。

幸運を祈る!

+1

私のvb.netは最高で錆びています=) – jadarnel27

+0

ハハ問題ありません。私は今それをしようとしているポストのおかげで! – daveomcd

3

このページでは、この削除ボタンを配置しています。書き込みの背後にあるページで

<asp:LinkButton runat="server" ID="lbtnDelete" CommandArgument='<%#DataBinder.Eval(Container,"DataItem.ID") %>' 
           OnClick="lbtnDelete_Click" CssClass="deleteButton" OnClientClick="return confirm('Are you sure?');"> 
            <img src="resources/images/icons/cross.png" alt="Delete" /></asp:LinkButton> 

このコード

protected void lbtnDelete_Click(object sender, EventArgs e) 
    { 
     int ID = Convert.ToInt32(((LinkButton)sender).CommandArgument); 
     Tbl_Mode Tbl_Mode = DataClassesDataContext.Tbl_Modes.Single(p => p.ID == ID); 
     DataClassesDataContext.Tbl_Modes.DeleteOnSubmit(Tbl_Mode); 
     DataClassesDataContext.SubmitChanges(); 
     divDelete.Visible = true; 
     Bind(); 
    } 
関連する問題