我有一个可用项目的数据库,但可用性因公司而异。大约有10家公司,每个公司都有自己的专栏,如果可以提供给他们,这些公司有一定的价值。ASP.NET SqlDataSource查找变量列名
这是在Designer中的SharePoint网站上完成的,我无法访问后面的代码。
| PhoneMake | PhoneModel | CompanyA | CompanyB |
|--------------|---------------|-------------|-------------|
| Apple | iPhone 5c | True | False |
| Apple | iphone 5s | True | True |
| Android | Note 3 | False | False |
| Android | Note 4 | False | True |
在我的网页上,我有一个下拉框选择您的公司。然后,我希望它选择一个筛选(即制造商)
<asp:DropDownList runat="server" id="Company" AutoPostBack="True" EnableViewState="False">
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="CompanyA">Choose A Company</asp:ListItem>
<asp:ListItem Value="CompanyB">Choose B Company</asp:ListItem>
</asp:DropDownList>
我需要借这个下拉菜单和输入它的选择是一列在我的SqlDataSource筛选的一个新的水平。
<asp:SqlDataSource id="SqlDataSource_PhoneMake" runat="server" __designer:commandsync="true" ProviderName="System.Data.SqlClient" ConnectionString="--yada yada--"
SelectCommand="SELECT DISTINCT [PhoneMake] FROM [table] WHERE (([PhoneMake] IS NOT NULL) AND ([@Company] = 'True'))">
<SelectParameters>
<asp:controlparameter ControlID="Company" PropertyName="SelectedValue" Name="Company" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
您所做的尝试面临的问题是什么? –
它不起作用。当你做出选择时会抛出错误。 – user3320324
原因是您无法使用参数来定义查询中使用的列。参数只能用于在where子句的谓词中定义列值。 –