Вызовите (покажите) модальное всплывающее окно, расположенное в MasterPage от его потомков - PullRequest
1 голос
/ 02 июня 2010

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

Итак, мне пришла в голову идея Panel + modalPopupExtender, размещенного в MasterPage, и вызывать его с дочерних страниц через code-behind.

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

Ответы [ 2 ]

3 голосов
/ 02 июня 2010

Так как модал должен вызываться из кода, вы можете достичь этого следующим образом

Добавьте метод на свою главную страницу

public class MyMaster : MasterPage
{
     public void ShowModal(string someParameter)
     {
          // Do your logic here
          // Show the modal
     }
}

Затем добавьте метод на свою страницу или базу страниц, как это ...

public void ShowModal(string someParameter)
{
     MyMaster masterPage = this.Master as MyMaster;
     masterPage.ShowModal(someParameter);
}

Я рекомендую использовать базовый класс для ваших страниц, чтобы вам не нужно было повторять описанный выше метод.

1 голос
/ 22 января 2011

Добавьте метод на свою главную страницу. Например:

public void ShowMpSignup4free()
{
    mpSignup4free.Show();
}

Затем вызовите этот метод из кода за страницей так:

protected void lbSignin_Click(object sender, EventArgs e)
{
    MasterPages_WebMasterPage wm = (MasterPages_WebMasterPage)(this.Master);
    wm.ShowMpSignup4free();
}

Здесь mpSignup4free - это идентификатор ModelPopupExtender, а MasterPages_WebMasterPage - имя главной страницы (WebMasterPage - это имя главной страницы, помещенной в папку MasterPages. Поэтому полное имя главной страницы - MasterPages_WebMasterPage).

и lbSignin - кнопка «Ссылка» на странице, главной страницей которой является WebMasterPage, на событие щелчка которой будет отображаться всплывающее окно модели.

Во избежание повторной публикации поместите кнопку ссылки lbSignin в UpdatePanel ...

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