Im немного застрял здесь. У меня есть datalist, у которого есть источник данных, который является Lit (из SomeObject).Удалить элемент из DataSource, когда DataList ItemCommand уволен
Private MyObjectList As List (of SomeObject)
загружает данные, и при необходимости, пользователь должен щелкнуть кнопку, чтобы добавить продукт в свою корзину и связать DataList.
Form_load....
dl.Datasource = MyObjectList
dl.databind()
End Sub
Для отображения данных в DataList я иметь метку, которая показывает, что, котор они добавили, используя е eventArg приведения его к моему объекту, пример ниже:
Protected Sub dl_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dl.ItemDataBound
Dim myObject = DirectCast(e.Item.DataItem, SomeObject)
....
Label.Text = myObject.Description
End Sub
Инлайн код:
<asp:DataList ID="dl" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="DeletePRoduct" runat="server" Text="Delete" CommandName="Del" CommandArgument='<%# Container.ItemIndex %>'/>
</ItemTemplate>
</asp:DataList>
Так что теперь я хотел бы, чтобы пользователь имел возможность удалить продукт
Protected Sub dl_ItemCommand(source As Object, e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dl.ItemCommand
Dim myObject = DirectCast(e.Item.DataItem, SomeObject)
If e.CommandName = "Del" Then
MyObjectList.Remove(myObject)
....
End If
End Sub
Если я попытаюсь передать myObject под ItemCommand, я понял, что e.item.DataItem, который я выбрал, ничего, поэтому он не удаляет какие-либо продукты. Затем я решил удалить этот индекс по строке и добавил кнопку CommandArgument к кнопке, когда понял, что не могу сделать это, поскольку List ожидает тип SomeObject.
Может ли кто-нибудь посоветовать, как удалить объект таким образом?
Благодаря
Спасибо, что сделал трюк. Я очень признателен, что вы тоже тратите время на демонстрацию этого. Еще раз спасибо. – Computer