我有一个Send.aspx页面,其中有一个上传控件。Upload.ashx处理文件上传。
我正在将一个文件记录添加到Upload.ashx文件中的一个sql数据库中,当它完成时,我需要从Upload.aspx获得该记录的ID。
不能让它和塞申斯一起工作。=(与Adobe有关?)
处理这件事最好的方法是什么?
以下是上载控件:
<script type="text/javascript">
// <![CDATA[
var contestID = $('[id$=HiddenFieldContestID]').val();
var maxEntries = $('[id$=HiddenFieldMaxEntries]').val();
var userID = $('[id$=HiddenFieldUserID]').val();
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader': '../uploadify/uploadify.swf',
'script': '../uploadify/Upload.ashx',
'scriptData': { 'contestID': contestID, 'maxEntries': maxEntries, 'userID': userID },
'cancelImg': '../uploadify/cancel.png',
'auto': true,
'multi': false,
'fileDesc': 'Image Files',
'fileExt': '*.jpg;*.png;*.jpeg',
'queueSizeLimit': 1,
'sizeLimit': 4000000,
'buttonText': 'Choose Image',
'folder': '/uploads',
'onAllComplete': function(event, queueID, fileObj, response, data) {
document.getElementById('<%= ButtonCleanup.ClientID %>').click();
}
});
});
// ]]></script>我花了一段时间才弄明白。但回想起来,这是极其简单的。出于这个原因,我疯狂地制作了一个视频教程,帮助新来的人快速入门,并了解这个了不起的控件是如何工作的。
视频教程从头到尾:
http://casonclagg.com/articles/6/video-tutorial-uploadify-asp-net-c-sharp.aspx
发布于 2010-03-03 08:01:01
我在自己的脚本中注意到,我使用的是onComplete事件而不是onAllComplete。除非有一个配置选项转义给我,否则onComplete将在每次Upload.aspx调用之后触发(文件是单独上传的--也许这是可配置的)。根据文档,onAllComplete实际上并不返回请求数据(这是有意义的,因为它是在单独上传的范围之外完成的)。
Upload.aspx输出的任何内容都应该出现在response参数中。您可以简单地让它输出脚本创建的元素的id,响应应该包含适当的字符串。
发布于 2010-03-19 19:16:31
正如我所承诺的,我制作了一个关于如何在ASP.Net应用程序中使用Uploadify控件的视频教程。
http://casonclagg.com/articles/6/video-tutorial-uploadify-asp-net-c-sharp.aspx
希望这能有所帮助。
对我的问题的简短回答是:
当您将context.Response.Write("foo");从Upload.ashx处理程序中返回时.
然后把这个放到你的上传控件中:
'onComplete': function(event, queueID, fileObj, response, data) {
alert(response);
}会弹出一个单词foo的警告框。
,您可以让这件事情变得更复杂一些,比如
context.Response.Write("id=55&title=This is the title");
并在您的OnComplete或OnAllComplete中解析JQuery中的值。
https://stackoverflow.com/questions/2369502
复制相似问题