0

我是 Visual Studio 和 ASP.NET 的新手。

我正在为我在大学的数据库课程创建这个项目,我想使用 Visual Studio 使其基于 Web。所以我已经创建了我的站点,导入了数据库等,现在我想创建一个带有用户输入参数的查询。使用查询生成器,我创建了以下 SQL 语句:

SELECT [Column1], [Column2], Column3 
FROM [DataBaseTable]
WHERE ([Column1] = ?)

查询构建器的下一步是我需要定义参数源的地方。我发现我需要一个控制源,使用 DropDownList。我已经创建了列表项并通过控制选项将列表分配给参数。

所以,现在当我启动我的网站时,查询正在工作,从第一个列表项中获取值。问题是我想通过选择不同的列表项来动态更改查询值。我需要做什么才能做到这一点?

编辑:这是代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="AccessDataSource1" Height="269px" Width="923px">
    <Columns>
        <asp:BoundField DataField="Column1" HeaderText="Column1" SortExpression="Column1" />
        <asp:BoundField DataField="Column2" HeaderText="Column2" SortExpression="Column2" />
        <asp:BoundField DataField="Column3" HeaderText="Column3" SortExpression="Column3" />
    </Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/Road.accdb" SelectCommand="SELECT [Column1], [Column2], [Column3] FROM [Второкласни пътища] WHERE ([Column1] = ?)">
    <SelectParameters>
        <asp:ControlParameter ControlID="DropDownList1" DefaultValue="" Name="?" PropertyName="SelectedValue" />
    </SelectParameters>
</asp:AccessDataSource>
<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem>2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
4

1 回答 1

0

根据您的代码,我认为您可能只需要进行一点小改动。将“AutoPostBack="true" 添加到您的 DDL。我还会给您的 ListItems 明确的值,以便更清楚。这样您可以将 ListItem 文本设置为有用的东西(无论数字应该在您的数据库中表示什么)。

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
    <asp:ListItem Value="1">1</asp:ListItem>
    <asp:ListItem Value="2">2</asp:ListItem>
    <asp:ListItem Value="3">3</asp:ListItem>
</asp:DropDownList>
于 2013-01-05T02:38:16.927 回答