0

リピーター コントロールを作成しようとしていますが、ちょっとした問題が発生しました。以下は、リピーター制御コードです。

<asp:Repeater ID="movies" runat="server">
    <ItemTemplate>
        <table>
            <tr>
                <th>
                    Movie Title: <%# Container.DataItem("MovieTitle")%>
                </th>
                <th>
                    Genre: <%# Container.DataItem("Genre")%>
                </th>
            </tr>
            <tr>
                <td>
                    <%# Container.DataItem("Synopsis")%>
                </td>
            </tr>
            <tr>
                <td>
                    Staring: <%# Container.DataItem("Starring")%>
                </td>
            </tr>
            <tr>
                <td>
                    Director: <%# Container.DataItem("Director")%>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</asp:Repeater>

コントロールの VB コード ビハインドは次のとおりです。

movie_title = Request.QueryString("id")
    myConn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " & _
                Server.MapPath("../App_Data/MovieBoard.accdb"))
    myConn.Open()
    Dim sqlQuery = "Select movieID From Movies"
    Dim aCmd = New OleDbCommand(sqlQuery, myConn)
    aDataReader = aCmd.ExecuteReader()

    If aDataReader.Read() = True Then
        movieID = aDataReader(0)
    Else
        movieID = "0"
    End If

    query = ("Select MovieTitle, Genre, Synopsis, Starring, Director From Movies")
    cmd = New OleDbCommand(query, myConn)
    dr = cmd.ExecuteReader()
    movies.DataSource = dr
    movies.DataBind()

ただし、コードを実行すると、次のようになります。

Cannot use a leading .. to exit above the top directory.

Line 12:         Dim query, movie_title, movieID As String
Line 13:         movie_title = Request.QueryString("id")
Line 14:         myConn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " & _
Line 15:                     Server.MapPath("../App_Data/MovieBoard.accdb"))
Line 16:         myConn.Open()

問題は小さいと思いますが、問題を見つけることができないようです。

4

1 に答える 1

2

使用している Server.MapPath のように見えます。試す:

Server.MapPath("/App_Data/MovieBoard.accdb")

../ は 1 レベル上のフォルダーを要求しており、これ以上上に行くことはできないというエラーが表示されます。

于 2012-12-21T00:19:52.047 に答える