【发布时间】:2016-02-13 09:37:30
【问题描述】:
我在 ddlCategory 中添加了一个“全选”值,以便在选择时选择所有类别,但我收到此错误消息“无法对 System.Int32 和 System.String 执行 '=' 操作。”有任何想法吗?提前致谢。
protected void Page_Load(object sender, EventArgs e)
{
if (ddlCategory.SelectedItem.Text == "Select All")
{
ProductDataSource.SelectCommand = "SELECT [ProductId], [ProductName], [ImageUrl], [Price], [CategoryId] FROM [Product] WHERE [SystemId] = 1";
}
}
这是 ProductDataSource 的代码:
<asp:SqlDataSource
ID="ProductDataSource"
EnableCaching="true"
DataSourceMode="DataSet"
runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString1 %>"
SelectCommand="SELECT [ProductId], [ProductName], [ImageUrl], [Price], [CategoryId] FROM [Product] WHERE [SystemId] = 1"
FilterExpression="CategoryId = '{0}'">
<FilterParameters>
<asp:ControlParameter Name="categoryparm" ControlID="ddlCategory" PropertyName="SelectedValue" />
</FilterParameters>
</asp:SqlDataSource>
【问题讨论】:
-
你从哪里得到错误?
-
我看不到任何会导致该错误的东西
-
是的,代码中没有错误,但是当我运行它时,会显示该错误消息。我猜它的选择语句? @shree.pat18
-
Product表中SystemId列的数据类型是什么?
-
我建议你尝试调试并单步调试你的代码,看看哪一行抛出了错误。
标签: c# sql asp.net .net datasource