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