2011-05-08 60 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