ASP modalpopupextender и контроль загрузки - PullRequest
1 голос
/ 23 августа 2011

У меня есть пара элементов управления загрузкой на моей странице, которые отображаются ajax ModalPopUpExtender, но в данный момент они не работают.Может ли кто-нибудь помочь мне понять, что не так, чтобы они могли начать получать информацию в мою базу данных?

Кстати, я не знаю, для чего предназначено скрытое поле, и, если кто-то это понимает, объясните мне, пожалуйста.Я не писал это, я просто пытаюсь это исправить.

       <!-- Add a Document -->
    <li>
        <asp:LinkButton ID="DocumentButton" runat="server">Document</asp:LinkButton>
        <asp:Panel ID="DocumentPanel" runat="server" CssClass="modalPopup" Style="display:none">
            <asp:FileUpload ID="DocumentUpload" runat="server" />
            <asp:Button ID="SubmitDocument" runat="server" Text="Upload" onclick="SubmitDocument_Click" /><asp:Button ID="CancelDocument" runat="server" Text="Cancel" /><asp:HiddenField ID="filename" runat="server" />
        </asp:Panel>       
        <asp:ModalPopupExtender ID="DocumentModal" runat="server" DropShadow="True" 
            DynamicServicePath="" Enabled="True" OkControlID="SubmitDocument" PopupControlID="DocumentPanel" TargetControlID="DocumentButton"></asp:ModalPopupExtender>
    </li>

    Protected Sub SubmitDocument_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SubmitDocument.Click
    'Builds the full absolute URL to be inserted into the database. 
    Dim hostURL As String = Request.Url.Scheme & "://" & Request.Url.Host & ":" & Request.Url.Port & Request.ApplicationPath
    Dim sqlFileHREF As String = "INSERT INTO Marketing (ProductID, MarketingTypeID, MarketingTitle, MarketingData) VALUES (" & ProductID.Value & " , 4 , '" & LinkTitle.Text & "', '" & hostURL & "uploads/" & ProductID.Value & "/" & filename.Value & "')"
    'Create SQL Connection
    Dim SqlConnection As New SqlConnection("Server=off-db1;uid=productsDB_admin;pwd=*****;database=Products")
    SqlConnection.Open()
    Dim sqlCommand As New SqlCommand(sqlFileHREF, SqlConnection)
    sqlCommand.ExecuteNonQuery()
    SqlConnection.Close()
    Response.Redirect(Request.RawUrl)
End Sub

1 Ответ

1 голос
/ 24 августа 2011

настройка OkControlID="SubmitDocument" в ModalPopupExtender предотвращает появление события Click кнопки SubmitDocument на стороне сервера.

Первое, что нужно сделать, это удалить его и добавить DocumentModal.hide() в SubmitDocument_Click Sub.

Обновление:
Затем вы можете добавить часы к sqlFileHREF, чтобы найти причину Incorrect syntax near ','. Я подозреваю, что у вас естьцитата или другие специальные символы в нем.Вы можете сделать что-то вроде sqlFileHREF.Replace("'", "''"), чтобы удвоить ваши кавычки.

Примечание: выполнение кода SQL, подобного этому, делает вас уязвимым для SQL-инъекций!

Примечание 2. Было бы разумно удалить парольиз строки подключения и замените ее звездочками в ваших будущих сообщениях (pwd=********) (вы должны отредактировать это)

Обновление 2:
Используйте DocumentUpload.FileName вместо filename.Value, похоже, что имя файла HiddenField было там для какой-то неосуществленной функции или цели тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...