我有一个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只显示空白。有什么想法吗?
答案 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>