2011-10-09 66 views
2

如何在ext.net的FileUploadField完成時顯示消息。 (與客戶方的JavaScript)在Ext.net(ASP.NET)中上傳完成事件?

我使用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> 
+0

我還沒有使用ext.net,但我可以幫助你使用YUI上傳。看看這裏'http:// labs.deeptechtons.com/asp-net-tuts/how-to-upload-files-asynchronously-using-yahoo-uploader /' – Deeptechtons

回答

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/

1

有幾個方法可以做到這一點。

「廉價技巧」的方法是在您的頁面中添加一個空白字面並在onfileuploaded事件(或任何您想要的事件)期間更新它的文本,並使用啓動JavaScript函數所需的文本。 (請注意,如果有一個實際的網頁提交這種方法只適用!)

另一種方法(和認爲是「正確」的方式)在ASP.NET來管理這是一個ScriptManager添加到您的頁面並註冊clientscript與onfileuploaded事件(或任何你想要的事件)。對於那些代碼例子很多,容易google-able.