توضیحات و دانلود

پاک کردن محتویات کنترل AsyncFileUpload پس از آپلود و بازبینی صفحه در ASP.Net
0 0
پاک کردن محتویات کنترل AsyncFileUpload پس از آپلود و بازبینی صفحه در ASP.Net

 با سلام در اینجا پاک کردن محتویات کنترل AsyncFileUpload پس از آپلود و بازبینی صفحه در ASP.Net را توضیح خواهیم داد . با ما همراه باشید .
پاک کردن Server Side
کنترل AsyncFileUpload  فایل آپلود شده  با ترکیبی از یک GUID و ترکیب آن ClientID است. از این رو پس از آپلود فایل شما نیاز به پاک کردن محتویات با حذف این کلید به روش زیر دارید .
C #

protected void FileUploadComplete(object sender, EventArgs e)
{
    string filename = System.IO.Path.GetFileName(AsyncFileUpload1.FileName);
    AsyncFileUpload1.PostedFile.SaveAs(Server.MapPath("Uploads/") + filename);
    ClearContents(sender as Control);
}
 
private void ClearContents(Control control)
{
    for (var i = 0; i < Session.Keys.Count; i++)
    {
        if (Session.Keys[i].Contains(control.ClientID))
        {
            Session.Remove(Session.Keys[i]);
            break;
        }
    }
}

VB.Net

Protected Sub FileUploadComplete(ByVal sender As Object, ByVal e As EventArgs)
    Dim filename As String = System.IO.Path.GetFileName(AsyncFileUpload1.FileName)
    AsyncFileUpload1.SaveAs(Server.MapPath("Uploads/") + filename)
    ClearContents(CType(sender, Control))
End Sub
 
Private Sub ClearContents(ByVal Control As Control)
    For i As Integer = 0 To Session.Keys.Count - 1           
        If Session.Keys(i).Contains(Control.ClientID) Then
           Session.Remove(Session.Keys(i))
           Exit For
        End If
    Next
End Sub

پاک کردن Client Side
در حال حاضر روش بالا فایل را از جلسه حذف می کند، اما جعبه متن کنترل AsyncFileUpload را پاک نمی کند .
اساسا کنترل شامل یک جعبه متن readOnly است. روش جاوا اسکریپت زیر محتویات کنترل AsyncFileUpload را پاک می کند .

<script type = "text/javascript">
function clearContents() {
    var AsyncFileUpload = $get("<%=AsyncFileUpload1.ClientID%>");
    var txts = AsyncFileUpload.getElementsByTagName("input");
    for (var i = 0; i < txts.length; i++) {
        if (txts[i].type == "text") {
            txts[i].value = "";
            txts[i].style.backgroundColor = "white";
        }
    }
}
window.onload = clearContents;
</script> 

شما می توانید این تابع را در هر کجا که می خواهید فراخوانی کنید، در بالا آن را در پنجره رویداد onload بارگذاری می کنیم تا کنترل در هر باربارگذاری، تجدید یا بازبینی صفحه دوباره پاک شود. در صورتی که می خواهید آن را پس از ارسال فایل در سرور پاک کنید، آن را در رویداد OnClientUploadComplete از کنترل AsyncFileUpload به روش زیر انجام دهید .

<script type = "text/javascript">
function uploadComplete(sender) {
    clearContents();
}
</script>

GIF زیر توضیح می دهد چگونه این ترفند ASP.Net AJAX Control Toolkit AsyncFileUpload کنترل را زمانی که صفحه تازه سازی، بارگذاری مجدد، بازبینی و همچنین یکبار فایل آپلود می شود پاک می کند .

بنابراین با استفاده از تکنیک client side و server side، می توانیم فایل آپلود شده را از کنترل AsyncFileUpload پاک کنیم 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :