在我的网站上我有2个表,其中第一个表发送customerNr
,它应该控制将哪些信息加载到我的第二个表中。
protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
string tempKundeNr;
tempKundeNr = e.CommandName;
}
tempKundeNr
获取正确的信息,但这是我的问题:在字符串后面排序sqldatasource
。
我现在所拥有的内容目前无法正常运行,但它有望展示我的目标。
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXX %>"
ProviderName="<%$ ConnectionStrings:XXXXX.ProviderName %>" SelectCommand="SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE ([OrderNr] = ?)">
<SelectParameters>
<asp:QueryStringParameter Name="OrderNr" QueryStringField="tempKundeNr" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
编辑*
发送我需要排序的信息的表:
<asp:DataList ID="OrdersList2" runat="server" CellPadding="4" DataKeyField="OrderNr"
DataSourceID="SqlDataSource2" ForeColor="#333333"
onitemcommand="DataList2_ItemCommand">
<ItemTemplate>
<table>
<tr>
<td>
<b>Ordre Nummer: </b>
<asp:Label ID="OrderNrLabel" runat="server" Text='<%# Eval("OrderNr") %>'/>
<br /><br />
<b>Kunde:</b>
<asp:Label ID="KundeLabel" runat="server" Text='<%# Eval("XXX") %>' />
<br />
<b>Ønsket afhentningstid:</b>
<asp:Label ID="HentwLabel" runat="server" Text='<%# Eval("XXX") %>' />
<br />
<b>Total Pris:</b>
<asp:Label ID="PrisLabel" runat="server" Text='<%# Eval("XXX") %>' />
<br /><br />
<asp:Button ID="btnwinfo" runat="server" CssClass="button" Text="Se Mere" CommandName='<%# Eval("OrderNr") %>' CommandArgument='<%# Eval("OrderNr") %>' />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
答案 0 :(得分:0)
嗯,您需要将参数放在where
子句中(见下文):
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXX %>"
ProviderName="<%$ ConnectionStrings:XXXXX.ProviderName %>" SelectCommand="SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE [OrderNr] = @orderNr">
</asp:SqlDataSource>
我在这里放了@orderNr
参数。
然后您可以在按钮单击处理程序中传递此参数:
SqlDataSource3.SelectParameters.Add("orderNr", DbType.SomeType, someValue);
并且此参数将传递给您选择查询。
您甚至可以在代码隐藏中指定select
查询(如有必要):
SqlDataSource3.SelectCommand = "SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE [OrderNr] = @orderNr";
希望它会有所帮助。