2011-04-01 171 views
1

我有一個GridView,用戶在其中選擇一行,然後將其帶到一個FormView中,並從所選記錄獲取更多數據。但是,過濾器表達式不起作用。這是我的FormView的數據源:篩選數據(.NET)

<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控件中選定行同時獲得前綴和課程編號。如果我得到的只是前綴,它的工作原理,但它似乎無法得到其他任何東西。有了這兩個參數,我的FormView顯示空白。有任何想法嗎?

回答

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> 
+0

嗯試過了,但它只是拋出一個錯誤,說「無法解釋令牌」?在位置10「。 – Sara 2011-04-01 19:09:23

+0

@Sara,試試'@prefix'和'@ course_number'。這將是SQL服務器的語法。 – 2011-04-02 01:39:21

+0

不幸的是沒有工作。 – Sara 2011-04-14 22:09:51