Member 14370529 Ответов: 1

Как вызвать модальное, что на виду X с помощью кнопки на вид г


У меня есть 2 вида (X,Y)

X имеет модальное значение

Y имеет кнопку, чтобы показать модальный.

Как мне тогда вызвать модал на X, используя onClick кнопки на Y

Что я уже пробовал:



var tbl_AttributesViewModel = новый объект();
tbl_AttributesViewModel.Attr_Id;

$('document').ready(функция () {
$('.предупреждение-ссылка).нажмите кнопку(функция () {
тревога("привет")
tbl_AttributesViewModel.Attr_Id = $(это).буква attr("идентификатор");

$.Аякс({
url: config.serverPath + "Attribute/AddOrEditAttribute/" + tbl_AttributesViewModel.Attr_Id,
типа: "вам",
данные: { id: tbl_AttributesViewModel.Attr_Id },//tbl_WBSViewModel,
успех: функция (d) {
$('#getAttrModal').modal('show');
}
});
});
});

$('document').ready(функция () {
$('#btnChildAttr').click(функция () {
$('#addAttrModal').modal('show');
});
});

F-ES Sitecore

Представления и т. д.-Это концепция на стороне сервера, но ваш js-код работает на клиенте, поэтому какая наценка в каком представлении не имеет значения, js не имеет понятия "представления". Важно лишь то,какова результирующая наценка в браузере. Если оба представления включены в выходные данные (то есть хотя бы одно из них является частичным представлением), то браузер рассматривает его как единый документ, поэтому просто убедитесь, что js работает в этом документе. Если одно из представлений не включено в выходные данные, то вы не можете получить доступ к чему-либо на нем из js, так как js работает на том, что отправляется в браузер.

1 Ответов

Рейтинг:
0

raddevus

Этот вызов является загрузочным вызовом.

$('#getAttrModal').modal('show').


Вы замечаете, что код не разделяется между представлениями, и поэтому вы не получаете повторного использования.

Это явный вызов в данной ситуации. Первый (и самый простой) способ заставить его работать-скопировать макет модального диалога в оба представления. Очевидно, что это не очень хорошо.

Реальный ответ, чтобы добавить модальное диалоговое окно, в PartialView а потом загрузи это PartialView в каждый из них View Таким образом, у вас есть код в одном месте, но вы можете вызвать модал из любого из них.

Чтобы добавить общий PartialView
в Visual Studio...
щелкните правой кнопкой мыши на Просмотры\Общие папку и выберите пункт "Добавить представление..."
ЗАПИСКА: Очень важно, чтобы вы поместили его в общую папку, чтобы он мог быть найден всеми представлениями.
Появится диалоговое окно создать представление...
В этом диалоговом окне Create View вы назовете представление (что-то вроде DialogView)
Вот снимок: https://i.stack.imgur.com/GQTtj.png[^]

Обратите внимание, что вы должны установить флажок с надписью "Создать как частичное представление".

Это создаст представление. Вы помещаете туда свой HTML-код модального диалога Bootstrap.
Теперь вы можете ссылаться на этот PartialView на каждой из ваших страниц, чтобы загрузить его в том месте, где вы хотите, чтобы он появился.

На каждой странице (CSHTML), где вам нужен модальный диалог, используйте строку кода Razor (HTML Helper), например::
@Html.Partial("DialogView")


Это просто гарантирует, что модальный диалог будет находиться на каждой странице (представлении).
Теперь вы используете свой обычный вызов Bootstrap, чтобы сделать модальное всплывающее окно.