Repeater+SqlDataSource.Selecting怪问题。立即结贴。
<asp:Repeater ID="Repeater1" DataSourceID="SqlDataSource1" runat="server">
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperlinkA" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("A") %>' /></td>
<td><asp:HyperLink ID="HyperLinkB" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("B") %>' /></td>
<td><asp:HyperLink ID="HyperLinkRQ" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("RQ", "{0:m}") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
OnSelecting="SqlDataSource1_Selecting" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="select A, B from TABLE where RQ>=@RQ order by CLRQ desc" DataSourceMode="DataReader">
<SelectParameters>
<asp:Parameter Name="RQ" />
</SelectParameters>
</asp:SqlDataSource>
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e){ SqlDataSource1.SelectParameters["RQ"].DefaultValue = DateTime.Now.AddDays(-3).ToShortDateString();}<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString=" <%$ ConnectionStrings:ConnectionString %>" ProviderName=" <%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="select A, B from TABLE where RQ>=@RQ order by CLRQ desc" DataSourceMode="DataReader"> <SelectParameters> <asp:Parameter Name="RQ" DefaultValue="2008-5-19" /> </SelectParameters> </asp:SqlDataSource>
[解决办法]
同意LS,这里可以不用参数
SelectCommand="select A, B from TABLE where RQ>="2008-5-19"
[解决办法]
sqlDataSource不熟 看看学习学习
[解决办法]
楼下几个回答的人显然不明白楼主的用意,虽然我也不知道怎么解决。但是可以提高另一条路的建议:
楼主用存储过程吧,SQL里面自带函数