Отображение новой формы элемента списка при нажатии кнопки - PullRequest
0 голосов
/ 12 августа 2011

Кто-нибудь знает, как показать новую форму элемента списка при нажатии кнопки, которая у меня есть на моей настраиваемой странице aspx?Например, когда у вас есть список sharepoint, и вы нажимаете «добавить элемент», и в новом диалоговом окне загружается новая форма элемента?Мне нужно то же самое, когда я нажимаю на кнопку.Я знаю, как это сделать в Sharepoint Designer, но мне нужно сделать это программно в Visual Studio.Я предполагаю, что Javascript должен быть каким-то образом вовлечен, и я ужасен с этим.Заранее спасибо!

Еще один вопрос - знаете ли вы способ обновления исходной страницы, на которой есть кнопка, при закрытии диалогового окна?Вот сценарий:

  1. Я нажимаю кнопку,
  2. открывает диалоговое окно,
  3. Я добавляю элемент в список Sharepoint через него,
  4. Я закрываю диалоговое окно,
  5. Мне нужно обновить исходную страницу, поэтому он заполняет
    DropDownList и добавляет к нему заголовок этого нового элемента списка.

Ответы [ 3 ]

2 голосов
/ 12 августа 2011

Код JavaScript, который необходимо выполнить, зависит от типа используемого вами списка (задачи, библиотека документов и т. Д.).

Чтобы открыть диалоговое окно Sharepoint, вы можете использовать следующий код JavaScript:

var options = {
  url: '<url to the add item page>',
  title: '<Title of your Dialog>'
}; 

// add an event handler for the dialog closed callback
options.dialogReturnValueCallback = Function.createDelegate(null, portal_modalDialogClosedCallback);

void(SP.UI.ModalDialog.showModalDialog(options))

function portal_modalDialogClosedCallback(result, value) {
    if(result === SP.UI.DialogResult.OK) { 
        //alert("OK was clicked");
    } 
    if(result === SP.UI.DialogResult.cancel) { 
        //alert("CANCEL was clicked");
    }

    window.frameElement.commitPopup(); // this will cause the list to refresh after the dialog closes
    // note: the above line only refreshes the List (which is the default Sharepoint OOB behavior anyway), to refresh the whole page use window.location.reload(); instead
}

Фактический URL-адрес, используемый выше, зависит от типа списка.Некоторые примеры:

  • Документ на основе библиотеки: [url to your list, e.g. /Lists/MyList]/Forms/Upload.aspx
  • Объявления: [url to your list]/NewForm.aspx
  • Задачи: [url to your list]/NewForm.aspx

Надеюсь, это поможет

1 голос
/ 12 августа 2011

Вы будете использовать Modal Dialog Framework и объектную модель клиента JS.

1 голос
/ 12 августа 2011

Посмотрите на AjaxControlToolkit, особенно ModalPopupExtender

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...