Как получить значение в диалоговом окне веб-страницы - PullRequest
0 голосов
/ 01 марта 2012

В SharePoint есть веб-часть по умолчанию, которая называется RSS Viewer, и если вы нажмете кнопку «Редактор XSL» на панели инструментов RSS Viewer, появится диалоговое окно веб-страницы, и вы сможете редактировать информацию и сохранять ее.Я делаю что-то, что нуждается в такой функции, я нажимаю кнопку «Редактировать» на панели инструментов моей веб-части, она открывает диалоговое окно веб-страницы. Я написал это так:

myButton.Attributes.Add("onClick", "window.showModalDialog('/_layouts/MyWebPart/sample.html')");

Итак, как сохранитьили получить строки во всплывающем диалоговом окне веб-страницы на мою веб-часть?

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Можете ли вы положиться на диалоговое окно jQuery http://docs.jquery.com/UI/Dialog? Если вы можете связать jQuery со своей веб-частью, посмотрите на это событие: http://docs.jquery.com/UI/Dialog#event-close. Это может быть полезно для вас.Это потребует изменения архитектуры вашего решения.

Или вы не хотите менять архитектуру, вы можете проанализировать кнопку Сохранить модального окна, которое появляется в веб-отладчике, таком как FireBug.

1 голос
/ 01 марта 2012

Это пример кода для работы с диалогом в SharePoint.Когда вы закрываете диалог, вы передаете объект результата диалога, который будет использоваться в качестве аргумента на вашей странице хоста

var webUrl = "<SharePoint:EncodedLiteral ID='webUrl' runat='server' EncodeMethod='EcmaScriptStringLiteralEncode' />" + "/_layouts/IC/PhoneBookPicker/SelectItem.aspx";

var dialogTitle = "<SharePoint:EncodedLiteral ID='dialogTitle' runat='server' EncodeMethod='EcmaScriptStringLiteralEncode' />";

var displayValueClientID = "<SharePoint:EncodedLiteral ID='displayValueClientID' runat='server' EncodeMethod='EcmaScriptStringLiteralEncode' />";

var hiddenValueClientID = "<SharePoint:EncodedLiteral ID='hiddenValueClientID' runat='server' EncodeMethod='EcmaScriptStringLiteralEncode' />";


function openPhoneBookPickerSearchDialog() {

var options = {

title: dialogTitle,

width: 600,

height: 435,

url: webUrl,

displayValue: document.getElementById(displayValueClientID).innerHTML,

hiddenValue: document.getElementById(hiddenValueClientID).value,

dialogReturnValueCallback: Function.createDelegate(null, IC_modalDialogClosedCallback)

};
SP.UI.ModalDialog.showModalDialog(options);

}


function IC_modalDialogClosedCallback(result, value) {

if (result == 1) {

document.getElementById(hiddenValueClientID).value = value.hiddenValue;

document.getElementById(displayValueClientID).innerHTML = value.displayValue;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...