2011-05-08 38 views
0

我想在fileupload操作後顯示jquery彈出窗口?不知道如何編碼?文件上傳後調用jquery腳本完成asp.net mvc 2

<%= Html.BeginForm("Upload","Home",FormMethod.Post,new { enctype = "multipart/form-data" }) %> 
<%{ %> 


<input type="file" id="upload" name="upload" /> 

<button id="btnUpload"> 
    upload</button> 



<%} %> 

<script type="text/javascript"> 

    function SayFinished() { 
     alert('Finished'); 
    } 
</script> 

[HttpPost] 
    public ActionResult Upload() 
    { 
     HttpPostedFileBase selectedFile = Request.Files["upload"]; 

     if (selectedFile.ContentLength > 0) 
     { 
      //do some processing call jquery script to open popup: SayFinished() 
     } 

     return View("Index"); 
    } 

回答

0

最簡單的方法是在具有onload腳本的帖子後從控制器返回視圖。

在新的看法,把下面的javascript:

在設置以下控制器文件上傳

ViewData["FileUploaded"] = "true"; 

後,然後在視圖中設置

<% if (!String.IsnullOrEmpty(ViewData["FileUploaded"]) && ViewData["FileUploaded"] == "true") { %> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      SayFinished(); 
     }); 

     function SayFinished() { 
      alert('Finished'); 
     } 
    </script> 
<%} %> 
+0

我想留在同一頁上? – user603007 2011-05-09 00:12:05

+0

請參閱上面的相同頁面解決方案。 – Gats 2011-05-09 02:40:20

-1

您可以使用此使用jQuery上傳文件的插件,http://pixelcone.com/jquery/ajax-file-upload-script

對不起,以前的反饋信息不正確。

+0

據我所知,您無法通過ajax發佈文件。只有使用Flash插件或其他「假」纔會顯示爲ajax。 – Gats 2011-05-09 01:45:48

+0

基於@Gats的建議,我刪除了答案中的jQuery.ajax()方法。你可以使用這個插件使用jQuery上傳文件,http://pixelcone.com/jquery/ajax-file-upload-script/ – 2011-05-09 07:48:55

+0

發佈後仍然使用ajax。這是無法發佈的XmltHttp .. javascript對象。插件使用閃存或其他東西來發布文件。 – Gats 2011-05-11 02:51:07