Загрузить событие завершения в Ext.net (ASP.NET)? - PullRequest
2 голосов
/ 09 октября 2011

как я могу показать сообщение, когда файл ext.net FileUploadField завершен. (с JavaScript на стороне клиента)

мой код для использования ext.net UploadField

<script type="text/javascript">
    function checkExtension(value) {
        if (value.match("\.png$") != null || value.match("\.jpg$") != null
        || value.match("\.jpeg$") != null || value.match("\.gif$") != null) 
            return true;
        alert("The file must be image");
        return false;
    }
</script>

<ext:FileUploadField ID="FileUploadField1" runat="server" Icon="Attach" ButtonText="Select File" Visible="true" ButtonOffset="1" ButtonOnly="true" Validator="checkExtension">
    <DirectEvents>
        <FileSelected OnEvent="ImageFileSelected" />
    </DirectEvents>
</ext:FileUploadField>

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

Первое решение (полная клиентская сторона):

<ext:FileUploadField ID="FileUploadField1" runat="server" Icon="Attach" ButtonText="Select File" Visible="true" ButtonOffset="1" ButtonOnly="true" Validator="checkExtension">
    <DirectEvents>
        <FileSelected OnEvent="ImageFileSelected" 
              Success="Ext.Msg.alert('Success');" 
              Failure="Ext.Msg.alert('Failure');" />
    </DirectEvents>
</ext:FileUploadField>

Второе решение (генерация скриптов на стороне сервера):

public void ImageFileSelected(object sender, DirectEventArgs e) {
    if (this.FileUploadField1.HasFile) {
        // save file here

        X.Msg.Show(new MessageBoxConfig {
           Buttons = MessageBox.Button.OK,
           Icon = MessageBox.Icon.INFO,
           Title = "Success",
           Message = string.Format(tpl, this.FileUploadField1.PostedFile.FileName,  
           this.FileUploadField1.PostedFile.ContentLength)
        });
    }
}

А вы можете посмотреть здесь http://examples.ext.net/#/Form/FileUploadField/Basic/

1 голос
/ 09 октября 2011

Есть несколько способов сделать это.

Подход "дешевого трюка" заключается в добавлении пустого литерала на страницу и обновлении его текста во время события onfileuploaded (или любого другого события, которое вы хотите) текстом, необходимым для запуска вашей функции JavaScript. (Обратите внимание, что этот подход работает только при наличии фактической обратной передачи страницы!)

Другой подход (и считается «правильным») для управления этим в ASP.NET заключается в добавлении менеджера сценариев.на свою страницу и зарегистрируйте свой клиентский скрипт с ним в событии onfileuploaded (или любом другом событии, которое вы хотите).Примеры кода для этого многочисленны и легко в состоянии Google.

...