Delete ne fonctionne pas avec mon gridview
Hello,
d'abord un peu de code :
app_code\destinataire.vb
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| Imports Microsoft.VisualBasic
Imports System.Collections.Generic
Public Class Destinataires
Public Shared Function Liste()
Dim ListeEmails As New List(Of Email)
Dim emails As String = System.Web.HttpContext.Current.Session.Item("emails")
For Each s As String In Split(emails, ",")
ListeEmails.Add(New Email(s))
Next
Return ListeEmails
End Function
Public Shared Function Supprimer(ByVal Email As String)
Dim emails As String = System.Web.HttpContext.Current.Session.Item("emails")
emails = emails.Trim(Email)
emails = emails.Replace(",,", ",")
If emails.StartsWith(",") Then emails.Remove(0, 1)
If emails.EndsWith(",") Then emails.Remove(emails.Length - 1, 1)
System.Web.HttpContext.Current.Session.Item("emails") = emails
Return emails
End Function
Public Class Email
Sub New(ByVal _email As String)
Me.email = _email
End Sub
Private _email As String
Public Property email() As String
Get
Return _email
End Get
Set(ByVal value As String)
_email = value
End Set
End Property
End Class
End Class |
default2.aspx
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Page sans titre</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBoxAjoutDestinataire" runat="server"></asp:TextBox><asp:Button
ID="Button1" runat="server" Text="Ajouter" /><asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("email") %>'
CommandName="Delete" Text="Supprimer"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="email" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Supprimer"
SelectMethod="Liste" TypeName="Destinataires">
<DeleteParameters>
<asp:Parameter Name="Email" Type="String" />
</DeleteParameters>
</asp:ObjectDataSource>
</div>
</form>
</body>
</html> |
default2.aspx.vb
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Session.Item("emails") = "" Then
Session.Item("emails") = TextBoxAjoutDestinataire.Text
Else
Session.Item("emails") = Session.Item("emails") & "," & TextBoxAjoutDestinataire.Text
End If
TextBoxAjoutDestinataire.Text = ""
GridView1.DataBind()
End Sub
End Class |
en gros, je veux pouvoir ajouter des emails dans une gridview dont le contenu est stocké dans une variable de session.
pour le moment je n'arrive pas à supprimer car l'email à supprimer ne passe pas dans la function supprimer.
Si quelqu'un peut m'aider ?
merci