Скрыть ASPxPopupControl из кода позади - PullRequest
5 голосов
/ 07 января 2012

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

Я попробовал следующее:

 string str = @"<script language=""javascript"" type=""text/javascript"">function HideEscalateAsk() {pcEscalteAsk.Hide();}</script>";
                   Page.RegisterClientScriptBlock("ClientScript", str);

но все равно не работает. Как я могу закрыть ASPxPopupControl?

Ответы [ 2 ]

5 голосов
/ 07 января 2012

Первым делом. Как вы справляетесь с кнопкой Сохранить; Server Side событие или Client Side.

Если вы используете клиентскую сторону, тогда используйте Callback серверное событие для сохранения данных и End Callback клиентское событие для закрытия всплывающего окна.

Если используется событие на стороне сервера, используйте ASPxPopupControl.ShowOnPageLoad Property.

protected void btnShowPopup_Click(object sender, EventArgs e) {
            txtPopup.Text = txtMain.Text;
            ASPxPopupControl1.ShowOnPageLoad = true;
        }
        protected void btnOK_Click(object sender, EventArgs e) {
            // TODO: your code is here to process the popup window's data at the server
            txtMain.Text = txtPopup.Text;
            ASPxPopupControl1.ShowOnPageLoad = false;
        }

См. Следующие ссылки для получения информации:
Как показать ASPxPopupControl
Как показать и скрыть всплывающее окно с помощью кода на стороне сервера

0 голосов
/ 07 июля 2015

Я думаю, что это лучший способ для этого, как упомянул DevSupport. Вы должны написать сценарий Java, как показано ниже:

//This function will close the pop window
function ClosePopWindow() {
     var paentWin = window.parent;
     window.parent.PopWindow.Hide();
}

И

//This function will clear inside content of pop window
function ClearPopWindow() {
        var paentWin = window.parent;
        paentWin.PopWindow.SetContentHtml(null);            
   }

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

Page.ClientScript.RegisterStartupScript(GetType(), "script", "ClosePopWindow();", true);

или, если вы хотите очистить контент, вы можете использовать вторую функцию. Внимание PopWindow это ClientInstanceName из ASPxPopupControl. Этот подход будет работать в любой ситуации, например, когда всплывающее окно, определенное на главной странице, и URL-адрес контента - это окно без главной страницы, потому что оно пытается получить родительское окно в конечных HTML-элементах в браузере.

Вы можете прочитать ответ службы поддержки Dev здесь: https://www.devexpress.com/Support/Center/Question/Details/B199294

А из форумов ASP.NET Терри Го отвечает на это: http://forums.asp.net/t/1990775.aspx?How+to+close+the+popup+from+the+popup+containing+page+

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

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