Ho adattato il tuo scritto per il mio database ed ho notato che l'evento Repeater1.ItemCommand non si verifica quando è EnableViewState="False" dell'oggetto Repeater1
Ti mando il mio scritto:
Form:
codice:
<body style="BACKGROUND-COLOR: #ffffcc">
<form id="Form1" method="post" runat="server">
<ASP:Repeater ID="Repeater1" Runat="server" EnableViewState="True">
<ItemTemplate>
<Tr>
<TD Width="15%" Align="Left" Valign="Middle" Class="TD1" BgColor="#FFFFFF">
<%# DataBinder.Eval (Container.DataItem, "id") %>
</TD>
<TD Width="15%" Align="Left" Valign="Middle" Class="TD1" BgColor="#FFFFFF">
<%# DataBinder.Eval (Container.DataItem, "id_comune") %>
</TD>
<TD Width="60%" Align="Left" Valign="Middle" Class="TD1" BgColor="#FFFFFF">
<%# Replace(DataBinder.Eval (Container.DataItem, "nome_comune"), Chr(13), "
") %>
</TD>
<TD Width="10%" Align="Center" Valign="Middle" Class="TD1" BgColor="#ABABAB">
<ASP:Button Text="X" Runat="Server" Font-Size="5" ID="Button1" NAME="Button1" />
</TD>
</Tr>
</ItemTemplate>
<HeaderTemplate>
<Table Width="100%" Cellspacing="1" Cellpadding="1">
<Tr>
<TD Width="15%" Align="Left" Valign="Middle" Class="TD1" BgColor="#ABABAB">
ID
</TD>
<TD Width="15%" Align="Left" Valign="Middle" Class="TD1" BgColor="#ABABAB">
ID_COMUNE
</TD>
<TD Width="60%" Align="Left" Valign="Middle" Class="TD1" BgColor="#ABABAB">
NOME_COMUNE
</TD>
<TD Width="10%" Align="Left" Valign="Middle" Class="TD1" BgColor="#ABABAB">
Elimina
</TD>
</Tr>
</HeaderTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</ASP:Repeater>
</form>
</body>
Codebehind:
codice:
Public Class a7
Inherits System.Web.UI.Page
Protected WithEvents Repeater1 As System.Web.UI.WebControls.Repeater
#Region " Codice generato da Progettazione Web Form "
'Chiamata richiesta da Progettazione Web Form.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form.
'Non modificarla nell'editor del codice.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
This = Me
If Not Page.IsPostBack Then
BindData(Query())
End If
End Sub
Private Function ConnectionString() As String
Return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documenti\Interdev\prova.mdb;"
'Return "File Name=C:\Documenti\Interdev\Prova_Access.UDL"
End Function
Private Function Query() As String
Dim Where$ = ""
Return "SELECT COMUNI.ID, COMUNI.ID_COMUNE, COMUNI.NOME_COMUNE, COMUNI.ID_PROVINCIA, PROVINCE.SIGLA, PROVINCE.NOME FROM COMUNI INNER JOIN PROVINCE ON COMUNI.ID_PROVINCIA = PROVINCE.ID_PROVINCIA " & Where & " ORDER BY PROVINCE.NOME, COMUNI.NOME_COMUNE"
End Function
Private Sub BindData(ByVal sql$)
Dim Adapter As New OleDbDataAdapter(sql, ConnectionString())
Dim DataSet As New DataSet()
Adapter.Fill(DataSet, "COMUNI")
Me.Repeater1.DataSource = DataSet.Tables("comuni").DefaultView
Page.DataBind()
End Sub
Private Sub Repeater1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles Repeater1.ItemCommand
PrintLn("e.Item.ItemIndex: " & e.Item.ItemIndex.ToString)
End Sub
End Class