0

我使用查询字符串参数返回一个值,然后在下面的代码中使用该值:

<asp:AccessDataSource ID="AccessDataSource2" runat="server" 
    DataFile="~/App_Data/TravelJoansDB.accdb" 
    SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID = @ID">
    <SelectParameters>
        <asp:QueryStringParameter Name="ID" QueryStringField="ID" />                    
    </SelectParameters>
    </asp:AccessDataSource>
    <table class="picPageStyle">
        <tr>
            <td>
                <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' />
            </td>
        </tr>
        <tr>
            <td>
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' />
            </td>
        </tr>
    </table>

当我在 Access 中用一个值替换“@ID”时,查询很容易返回一行,并且它似乎(但似乎我错了)它正在返回该值,因为使用此代码的页面的地址显示正确的 ID,即“picpage.aspx?ID=4” 我错过了什么?它与查询字符串参数有关吗?

4

2 回答 2

1

您必须将 Table 放入 FormView:

<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource2">
    <ItemTemplate>
       <table class="picPageStyle">
         <tr>
           <td>
              <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' />
           </td>
         </tr>
         <tr>
            <td>
               <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' />
            </td>
         </tr>
     </table>
    </ItemTemplate>
</asp:FormView>
于 2013-08-28T05:04:23.377 回答
-1

我不知道正确的解决方案。

但是你可以试试这个方法。

SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID =" + <%= Request.QueryString["ID"] %>>

不需要asp:QueryStringParameter Name="ID" QueryStringField="ID" />

更新

复制并粘贴此代码,然后检查

<asp:AccessDataSource ID="AccessDataSource2" runat="server" 
        DataFile="~/App_Data/TravelJoansDB.accdb" 
        SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID =" + <%= Request.QueryString["ID"] %>>
        <SelectParameters>
            <asp:QueryStringParameter Name="ID" QueryStringField="ID" />                    
        </SelectParameters>
        </asp:AccessDataSource>
        <table class="picPageStyle">
            <tr>
                <td>
                    <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' />
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' />
                </td>
            </tr>
        </table>
于 2013-08-22T02:28:19.060 回答