Отправьте uploadify submit/post в код aspx позади метода вместо обработчика и закройте модальную форму jQuery

Мы используем версию для сообщества Telerik Sitefinity и весело развёртываем с её помощью обработчики и веб-службы. Таким образом, мне интересно, можем ли мы при использовании Uploadify опубликовать заголовок ashx это метод на стороне сервера, который может позаботиться о загрузке? Если да, то не мог бы кто-нибудь быть очень любезным и опубликовать быстрый и грязный пример, чтобы я начал?

Это приводит к другому вопросу. На этой конкретной странице мы используем jQuery.FormWizard, который плохо работает с формами на стороне сервера. Когда дело доходит до загрузки файлов, то, что мы пытаемся сделать, это открыть модальную форму, чтобы пользователь загружал свои файлы, где после завершения мы просто закроем эту модальную форму для них. Но это не работает, и я почти уверен, что это потому, что я неправильно обрабатываю OnComplete/OnAllComplete. Подскажите пожалуйста как это сделать?

Вот загрузка в файле js:

$("#VisaHelpNeeded").click(function() {
    //This opens the modal form

    $dialog.dialog('open');

    //********** Uploadify stuff here ********************

    $('#fileInput').uploadify({
        'uploader': '../../App_Themes/ApRegistration/images/uploadify.swf',
        'script': 'WebForm1.aspx/Register',
        'scriptData': { 'society': $('#nationalSociety').val(), 'participant': $('participantName').val() },
        'cancelImg': '../../App_Themes/ApRegistration/images/cancel.png',
        'auto': true,
        'multi': true,
        'fileDesc': 'Image Files',
        'fileExt': '*.jpg;*.png;*.gif;*.jpeg;*.bmp',
        'sizeLimit': 4000000,
        onAllComplete: function(){$('#dialog-form').dialog('close');}
    });
});

Вот модальная форма

var $dialog = $('<div></div>')
.html('<label>Please attach a scanned copy of your passport</label><input     id="fileInput" name="fileInput" type="file" />')
.dialog({
  autoOpen: false,
  height: 350,
  width: 485,
  modal: true,
  buttons: {
      Cancel: function() {
          $(this).dialog('close');
      }
  }
 });

И вот попытка сигнатуры вызова метода для сохранения его в коде позади (я где-то читал, исследуя это, что метод должен быть статическим веб-методом, но сейчас я не могу найти ссылку, извините)

[WebMethod(true)]
public static void Register(HttpContext context)
{ 
    //do lots of cool code here 
}

Большое спасибо/


person Mustafa Ismail Mustafa    schedule 18.07.2010    source источник


Ответы (2)


Вы можете рассмотреть возможность использования RadUpload от Telerik и RadWindow для этого. Эти продукты поставляются с Sitefinity CMS и будут охвачены поддержкой Telerik.

Кроме того, у меня нет примера, показывающего, как использовать Uploadify с методами кода программной части страницы. Это может помочь протестировать и устранить неполадки на новом веб-сайте ASP.NET (не на веб-сайте Sitefinity). Это может помочь уменьшить сложность при тестировании/исследовании.

Затем, когда код заработает, поддержка Sitefinity может помочь развернуть рабочий прототип в Sitefinity. К сожалению, у меня нет примера под рукой.

person Gabe Sumner    schedule 20.07.2010

Я не уверен, что есть простой способ использовать Uploadify с веб-формами. Мы широко использовали его, но с MVC, а не с веб-формами.

Что касается проблемы с диалогом jquery, вы создаете диалог на лету без идентификатора, но пытаетесь сослаться на «#dialog-form», чтобы закрыть его. Я подозреваю, что селектор не соответствует, поэтому диалоговое окно не закрывается. Поскольку вы кэшировали его в локальной переменной $dialog, почему бы не использовать

$dialog.dialog('close');
person steve_c    schedule 20.07.2010