lightswitch如何?檔案批量上傳功能

來源:互聯網
上載者:User

 本例中使用devexpress uploadcontrol來實現上傳,主要介紹如何整合到LS中的具體步驟。

 

1.將lightswitch項目切換到檔案檢視狀態.

 

2.在client工程裡添加一個自訂的控制項進來,(silverlight 中一樣的操作方式,)並實現自己需要的功能。

<controls:ChildWindow x:Class="LightSwitchApplication.Screens.SelectUploadFile"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
           Width="600" Height="400"
           xmlns:local="clr-namespace:LightSwitchApplication.Screens"
           Title="上傳附件">
    <Grid x:Name="LayoutRoot" Margin="2">
        <Border Background="White">
            <local:CustomUploadControl  x:Name="uploadControl1"   UploadServerPath="UploadFiles" 
                FileUploadCompleted="OnFileUploadCompleted"
                TotalUploadCompleted="OnTotalUploadCompleted"
                UploadItemRemoved="OnUploadItemRemoved"
                UploadCancelled="OnUploadCancelled" AllowDrop="True" Width="532" FileNameFilter="所有檔案 (*.*)|*.*"  FontSize="12"  />
        </Border>
    </Grid>
</controls:ChildWindow>

CustomUploadControl  在DEVEXPRESS的基礎上重新封裝了一下,增加了上傳檔案唯一編號。

在需要上傳的地方執行如下:

  partial void ShowUpload_Execute()
        {
            // Write your code here.

            Dispatchers.Main.BeginInvoke(() =>
            {
                SelectUploadFile selectFileWindow = new SelectUploadFile();
                selectFileWindow.uploadControl1.BeforeStartUpload += new EventHandler(dxUploadControl_BeforeStartUpload);
                selectFileWindow.uploadControl1.FileUploadCompleted += new EventHandler<UploadItemEventArgs>(FileUploadCompletedHandler);
                selectFileWindow.uploadControl1.UploadItemRemoved += new EventHandler<UploadItemEventArgs>(dxUploadControl_UploadItemRemoved);
                var webHandlerUri = new Uri(System.Windows.Application.Current.Host.Source, "../FileUploader.ashx");
                selectFileWindow.uploadControl1.WebHandlerUri = webHandlerUri; //上傳伺服器路徑,誰來處理,可參考Dev樣本
                selectFileWindow.uploadControl1.UploadServerPath = uploadServerPath;
                selectFileWindow.Show();
            });
        
        }

3.進入ServerGenerated,添加相關自訂處理的功能,如: downloadfile.aspx, fileuploader.ashx ,一個下載,一個上傳。具體代碼就不顯示了

4.整合剛才增加的二個功能(上傳、下載),需要LS將二個檔案進行編譯到工程中。

先將項目卸裝,然後手動編輯LS解決方案檔案。

開啟檔案,找到項目包含檔案的位置,手工加入如下:

儲存,並重新載入工程。此時我們需要的自訂的功能都整合到LS中去了,可以正常工作。一起來嘗試一下吧,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.