Отправьте загружать, отправлять / публиковать в aspx коде метода вместо обработчика и закрывать модальную форму jQuery - PullRequest
0 голосов
/ 18 июля 2010

Мы используем версию сообщества 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 
}

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

Ответы [ 2 ]

0 голосов
/ 21 июля 2010

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

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

$dialog.dialog('close');
0 голосов
/ 21 июля 2010

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

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

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

...