контроль загрузки файла не работает в панели обновления - PullRequest
2 голосов
/ 07 января 2011

HI,

контроль загрузки файла находится в сетке, когда Ajax не используется, он работает правильно, поэтому, когда я использую панель обновления, я получаю ошибку при загрузке файла в базу данных, плзпомогите мне в этом.

Пожалуйста, посоветуйте мне Dhanraj.S

Ответы [ 4 ]

4 голосов
/ 07 января 2011

Вы можете установить триггер Post Back на кнопку Submit. после этого вы можете получить изображение на стороне сервера.

например.

<Triggers>
<ajax:PostBackTrigger ControlID="btnSubmit" />
</Triggers>
3 голосов
/ 07 января 2011

Это потому, что UpdatePanel не сохраняет файл внутри asp:FileUpload

Обходной путь - установить PostBackTrigger на кнопке, которая обновляет UpdatePanel

Предположим, есть кнопка (скажем, UploadFileButton), которая обновляет панель обновления. Измените свою панель, как это

<asp:UpdatePanel runat="server">
    <ContentTemplate>
        <asp:FileUpload ID="TestFileUpload" runat="server" />
        <br />
        <asp:Button ID="UploadFileButton" runat="server" Text="Upload File"/>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="UploadFileButton" />
    </Triggers>
</asp:UpdatePanel>
2 голосов
/ 07 января 2011

Вы пытались использовать новый AsyncFileUpload Control из AjaxControlToolkit 3.5? Здесь - пошаговое руководство.

0 голосов
/ 07 января 2011

Возможно, не то, что вы ищете, но почему бы не использовать jQuery для загрузки файла? Вы можете использовать jQuery Form Plugin , чтобы сделать это. Это скрипт:

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.form.js"></script>
<script type="text/javascript">
    $("#myForm").ajaxForm({
        success: function (response) {
            $('#updateDiv').append(response);
        }
    });
</script>

А это HTML:

<form id="myForm" action="http://localhost/Default.aspx" method="post"
enctype="multipart/form-data">
<div id="updateDiv" runat="server">
</div>
<div>
    <input type="file" id="filePhoto" name="filePhoto" value="" />
    <input type="submit" value="Upload Photo" />
</div>
</form>

Конечно, вам придется обработать отправку формы в своем коде и отправить соответствующий ответ.

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