2

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>
4

2 回答 2

2

第一个解决方案(完整客户端):

<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/

于 2011-10-09T19:27:44.947 回答
1

有几种方法可以做到这一点。

一种“便宜的技巧”方法是在您的页面中添加一个空白文字,并在 onfileuploaded 事件(或您想要的任何事件)期间使用触发您的 javascript 函数所需的文本更新它的文本。 (请注意,此方法仅在存在实际页面回发时才有效!)

在 ASP.NET 中管理它的另一种方法(并且被认为是“正确”的方法)是将脚本管理器添加到您的页面并在 onfileuploaded 事件(或您想要的任何事件)中使用它注册您的客户端脚本。这些代码示例很多,而且很容易用谷歌搜索。

于 2011-10-09T16:42:33.893 回答