在Ext.net (ASP.NET)中上传完成事件
本文关键字:事件 net Ext ASP NET | 更新日期: 2023-09-27 18:10:43
如何在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>
第一个解决方案(完整客户端):
<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/
有几种方法可以做到这一点。
一个"廉价的技巧"的方法是添加一个空白文字到你的页面,并在onfileuploaded事件(或任何你想要的事件)与触发你的javascript函数所需的文本更新它的文本。(注意,这种方法只有在有实际的页面回发时才有效!)
在ASP中管理此问题的另一种方法(被认为是"正确"的方法)是:NET是添加一个scriptmanager到您的页面,并在onfileuploaded事件(或任何您想要的事件)中注册您的客户端脚本。这些代码示例有很多,很容易在谷歌上搜索到。