过滤数据(.NET)

时间:2011-04-01 18:41:53

标签: asp.net ms-access gridview filter datasource

我有一个GridView,其中用户选择一行,然后被带到FormView,其中包含来自所选记录的更多数据。但是,过滤器表达式不起作用。这是我的FormView数据源:

<asp:AccessDataSource ID="adsCourse" runat="server" DataFile="~/App_Data/courseinfo.mdb"
    FilterExpression="prefix='{0}' AND course_number='{1}'" SelectCommand="SELECT * FROM [tableCourse]">
    <FilterParameters>
        <asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedValue" />
        <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedValue" />
    </FilterParameters>
</asp:AccessDataSource>

如您所见,我正在尝试从GridView控件中的选定行获取前缀和course_number。如果我只得到前缀,它可以工作,但它似乎无法得到任何其他东西。使用这两个参数,我的FormView只显示空白。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我看到的AccessDataSource示例总是使用?作为占位符,而不是{0}

<asp:AccessDataSource 
            ID="adsCourse" 
            runat="server" 
            DataFile="~/App_Data/courseinfo.mdb"
            FilterExpression="prefix = ? AND course_number = ?" 
            SelectCommand="SELECT * FROM [tableCourse]">
    <FilterParameters>
        <asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedValue" />
        <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedValue" />
    </FilterParameters>
</asp:AccessDataSource>