0
我正在研究一个漂亮的VB.NET ASP.NET网站,并尝试连接拖放上传以及“浏览”功能。如果你只是进入页面并上传,一切都有效。但是,如果您在页面上的UpdatePanel中执行任何活动,则功能会中断。所以,我在Page_Load中添加了这个:多次注册jQuery FileUpload
' register the script that wires up the upload region
Dim cstext1 As String = "setupFileUpload();"
ScriptManager.RegisterStartupScript(upfiles, upfiles.GetType(), "UploadFileSetup", cstext1, True)
这一工程,但问题是,如果你运行多个操作的文件上传似乎保持其注册行为。所以如果我上传一个文件它会出现多次(例如 - 5个文件上传发生在后台。
我的javascript看起来像这样。关于如何检查处理程序是否已经注册的任何建议?
片段:
function setupFileUpload() {
if ($('#fileupload').fileupload) return;
$('#fileupload').fileupload({
dataType: 'json',
url: '<%= ResolveUrl("AjaxFileUpload.ashx") %>',
add: function (e, data) {
$('#<%= lblErrorFileType.ClientID %>').css('display', 'none');
var valid = true;
var re = /^.+\.((txt)|(jpeg)|(jpg)|(png)|(gif)|(pdf)|(doc)|(docx)|(xls)|(xlsx))$/i;
$.each(data.files, function (index, file) {
if (!re.test(file.name)) {
$('#<%= lblErrorFileType.ClientID %>').css('display', '');
valid = false;
}
});
if (valid)...
对不起,应该提到用if($('#fileupload')。fileupload)返回的行;试图避免多次注册,但它似乎在updatepanel发回的情况下破坏了所有内容。谢谢。 – HelluvaEngineer