私はlistview
を自動的にバインドし、データ要素を更新しようとしています。数多くのサンプルとチュートリアルを見ても、私のコードで何が間違っているのかは分かりません。ディスプレイは正常に動作しています。失敗するのは更新コマンドだけです。 @VirtualName
パラメータが拾った(それはPKであるため、バインドされていない)されていることをリストビューUpdateCommandがNULLを渡す
<asp:SqlDataSource ID="MSSQLDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:DBConn%>"
DataSourceMode="DataSet"
SelectCommand="select isnull(visits, 0) as Visits, iis.VirtualName, iis.clientname, iis.devurl, iis.stagingurl , iis.liveurl from iissites iis left join (select count(*) as visits, VirtualName from devvisits group by VirtualName) dv on iis.VirtualName = dv.VirtualName order by visits desc" UpdateCommand="update iissites set clientname = @clientname, stagingurl = @stagingurl where VirtualName = @VirtualName">
<UpdateParameters>
<asp:Parameter Name="clientname" Type="String" />
<asp:Parameter Name="stagingurl" Type="String" />
<asp:Parameter Name="VirtualName" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
注:ここに私のSqlDataSource
ノードです。ここに私のasp:ListView
ノードです:
<asp:ListView DataSourceID="MSSQLDataSource" runat="server" DataKeyNames="VirtualName">
<LayoutTemplate>
<table cellpadding="1">
<tr id="Tr1" runat="server">
<th> </th>
<th id="Th2">Clent Name</th>
<th id="Th1">Local Site</th>
<th id="Th3">LHits</th>
<th>Staging</th>
</tr>
<tr id="ItemPlaceHolder" runat="server" ></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server" class='<%# Container.DataItemIndex % 2 == 0 ? "row" : "row alt" %>'>
<td class="command"><asp:ImageButton ImageUrl="images/edit.jpg" ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" /></td>
<td>
<%#Eval("clientname") ?? "nbsp;" %>
</td>
<td align="left">
<asp:LinkButton ID="LinkButton1" OnCommand="clickLink"
CommandName="devvisits" CommandArgument='<%#Eval("VirtualName") %>'
runat="server" ><%#Eval("VirtualName") ?? "nbsp;"%>
</asp:LinkButton>
</td>
<td align="left">
<%#Eval("Visits") ?? "nbsp;" %>
</td>
<td>
<%#Eval("stagingurl") ?? "nbsp;" %>
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr id="TrEdit" runat="server">
<td>
<asp:ImageButton ImageUrl="images/cancel.jpg" runat="server" CommandName="Cancel" />
<asp:ImageButton ImageUrl="images/save.jpg" runat="server" ID="UpdateButton" CommandName="Update" />
</td>
<td>
<asp:TextBox ID="clientname" runat="server" Text='<%#Bind("clientname") %>' ></asp:TextBox>
</td>
<td align="left">
<asp:Label ID="VirtualName" runat="server">
<asp:LinkButton ID="LinkButton2" OnCommand="clickLink"
CommandName="devvisits"
CommandArgument='<%#Eval("VirtualName") %>'
runat="server" ><%#Eval("VirtualName") %>
</asp:LinkButton>
</asp:Label>
</td>
<td align="left">
<asp:Label ID="DevHits" runat="server">
<%#Eval("Visits") %>
</asp:Label>
</td>
<td align="left">
<asp:TextBox ID="TextBox2" runat="server" Text='<%#Bind("stagingurl") %>' ></asp:TextBox>
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
フィードバックはありがとうございます。
-Jesse