Приветствую!
Использую ListView, без изысков, практически взято из мсдн. "В процессе" прикрутил к нему
OnItemUpdated и
OnItemUpdating, но не суть.
<asp:ListView ID="ListView2" runat="server" DataSourceID="SqlInventory" DataKeyNames="InventoryUUID"
OnItemUpdated="ListView2_ItemUpdated" OnItemUpdating="ListView2_ItemUpdating">
<LayoutTemplate>
<table runat="server" id="table1">
<tr>
<th>InvetoryUUID</th>
<th>Name</th>
</tr>
<tr runat="server" id="itemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="Tr1" runat="server">
<td id="Td1" runat="server">
<asp:Label ID="LabelInventoryUUID_it" runat="server" Text='<%#Eval("InventoryUUID") %>' />
</td>
<td id="Td3" runat="server">
<asp:Label ID="LabelName_it" runat="server" Text='<%#Eval("Name") %>' />
</td>
<td>
<asp:LinkButton runat="server" ID="EditButton" Text="Edit" CommandName="Edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr id="Tr1" runat="server" style="background-color: Yellow">
<td id="Td1" runat="server">
<asp:TextBox ID="LabelInventoryUUID_ed" runat="server" Text='<%#Eval("InventoryUUID") %>' />
</td>
<td id="Td3" runat="server">
<asp:TextBox ID="TextBoxName_ed" runat="server" Text='<%#Bind("Name")%>' />
</td>
<td>
<asp:Button runat="server" ID="UpdateButton" Text="Update" CommandName="Update" />
<asp:Button runat="server" ID="CancelButton" Text="Cancel" CommandName="Cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
Тут же к нему источник данных. Раздел
UpdateParameters прикрутил позже т.к. в мсдн о нем ни слова. Пробовал и
<asp:Parameter>
<asp:SqlDataSource runat="server" ID="SqlInventory\" ConnectionString="<%$ ConnectionStrings:SqlConnectionString %>"
SelectCommand="SELECT * FROM Inventory"
UpdateCommand="UPDATE Inventory SET InventoryID = @InventoryID, Name = @Name WHERE (InventoryUUID = @InventoryUUID)">
<UpdateParameters>
<asp:ControlParameter Name="InventoryID" Type="String" />
<asp:ControlParameter Name="Name" Type="String" />
<asp:ControlParameter Name="InventoryUUID" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
Проблемы при Update — если не определять секцию параметров
<UpdateParameters> (как в мсдн и не только) , то получаю
System.Data.SqlClient.SqlException: Must declare the scalar variable и имя параметра из запроса Update. Если же секция параметров определена, видно что ни
<%#Bind("InventoryUUID")%> ни
<%#Bind("Name")%> неработают, в обработчиках
OnItemUpdat* видно, что значения параметров отсутствуют.
Как заставить работать сию конструкцию? Спасибо.