Ich verwende MVC und ich lade Daten in eine ListView. Alles funktioniert gut, hier ist die Ansicht:
<%
Dim varDataSource As New iSAM.EntityiSAMRepository
ListViewDatos.DataSource = varDataSource.ListarCruceCertificadosPrecancelados
ListViewDatos.DataBind()
%>
<asp:ListView runat="server" ID="ListViewDatos">
<LayoutTemplate>
<table id="ListViewDatos" class="tablesorter" style="width:100%">
<thead>
<tr>
<th style="width:2%">
</th>
<th style="width:6%" align="left">
<a href="#" style="text-decoration:none"><font color="black">Póliza</font></a>
</th>
</tr>
</thead>
<tbody>
<tr id="itemPlaceholder" runat="server" />
</tbody>
<tfoot>
<tr id="pager" align="center">
<td colspan="7" style="border-right: solid 3px #7f7f7f;">
<asp:Image ID="Image1" ImageUrl="~/Images/first.png" CssClass="first" ToolTip="Inicio" runat="server" />
<asp:Image ID="Image2" ImageUrl="~/Images/prev.png" CssClass="prev" ToolTip="Anterior" runat="server" />
<input type="text" class="pagedisplay" readonly="readonly" style="width:100px; text-align:center" />
<asp:Image ID="Image3" ImageUrl="~/Images/next.png" CssClass="next" ToolTip="Siguiente" runat="server" />
<asp:Image ID="Image4" ImageUrl="~/Images/last.png" CssClass="last" ToolTip="Fin" runat="server" />
<select class="pagesize">
<option selected="selected" value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</td>
</tr>
</tfoot>
</table>
</LayoutTemplate>
<ItemTemplate>
<%
Static varCount As Long = 0
Dim varID1 As Long = Model(varCount).ID1
Dim varID2 As Long = Model(varCount).ID2
varCount = varCount + 1
%>
<tr>
<td style="border-width:medium">
<%=Html.CheckBox("chkCancel_" & Val(varID1) & "_" & Val(varID2), False, Nothing)%>
</td>
<td>
<%#Eval("WhatEver")%>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<p>
<input type="submit" value="Cancel" id="cmdCancel" onclick="if(!confirm('Are you sure?')) return false;" />
</p>
Mein Problem ist auf dem Controller, weil ich brauche, um alle Checkboxen in ListView geladen wiederherzustellen, aber die Request.Form nur die Checkboxen, die abhängig von der Paging angezeigt werden, ich meine, wenn ich mit Paging von 10 Elemente dann Request.Form bekommt 10 Checkboxen, und wie ich sagte, ich habe 60 Checkboxen (zum Beispiel) und ich brauche die 60 Checkboxen mit Request.Form oder etwas anderes (vielleicht ein Trick :) ). Hier ist der Controller:
Function ListMyData(ByVal varErr As String) As ActionResult
Dim arrIDs(,) As String = Nothing
Dim varcount As Long = 0
For Each varItem In Request.Form
If InStr(varItem.ToString, "chkCancel") > 0 Then
If Request.Form(varItem) = "true,false" Then
ReDim Preserve arrIDs(1, varCount)
Dim varCode As String = Mid(varItem, InStr(varItem, "_") + 1)
arrIDs(0, varCount) = Mid(varCode, 1, InStr(varCode, "_") - 1)
arrIDs(1, varCount) = Mid(varCode, InStr(varCode, "_") + 1)
varCount = varCount + 1
End If
End If
Next
Return View()
End Function
Danke.