2012-01-07 21 views
5

Tôi đã thêm ASPxPopupControl, bao gồm nút Lưu và tôi muốn đóng sau khi lưu bản ghi.Ẩn ASPxPopupControl từ mã phía sau

tôi thử như sau:

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

nhưng nó vẫn không hoạt động. Làm thế nào tôi có thể đóng ASPxPopupControl?

+0

cẩn thận để thêm thẻ chính xác .. nếu nó liên quan đến kiểm soát devexpress sau đó thêm thẻ 'devexpress' cũng .. cố gắng đặt mã tập lệnh khách này trên trang và sau đó gọi sự kiện nhấp chuột của khách hàng bên nút lưu. đang sử dụng .. –

Trả lời

5

Điều đầu tiên. Làm thế nào bạn xử lý nút Save; Server Side sự kiện hoặc Client Side.

Nếu bạn đang sử dụng phía máy khách, hãy sử dụng sự kiện bên máy chủ Callback để lưu dữ liệu và End Callback sự kiện khách hàng để đóng cửa sổ bật lên.

Nếu sử dụng Sự kiện phía máy chủ, hãy sử dụng ASPxPopupControl.ShowOnPageLoad Thuộc tính.

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; 
     } 

Tham khảo link sau để biết thông tin:
How to show the ASPxPopupControl
How to show and hide a popup window via server side code

+0

phù hợp với tôi, cảm ơn vì điều đó –

+0

Rất vui, nó đã hoạt động cho bạn. –

+0

Cảm ơn nhưng không làm việc cho tôi thật không may. Tôi tìm thấy một cách và tôi sẽ viết nó như một câu trả lời khác. – QMaster

0

Tôi nghĩ rằng đây là cách tốt nhất cho điều đó như DevSupport đề cập. Bạn phải viết một kịch bản java như dưới đây:

//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);    
    } 

và sau đó gọi nó từ mã sau khi bạn cần (sau khi tất cả các quá trình bạn muốn làm) như thế này:

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

hoặc nếu bạn muốn xóa nội dung, bạn có thể sử dụng chức năng thứ hai. Chú ý số PopWindowClientInstanceName của ASPxPopupControl. Cách tiếp cận này sẽ làm việc trong mọi tình huống ví dụ khi cửa sổ pop được xác định trong trang chính và URL nội dung là một cửa sổ không có trang chính vì nó cố gắng để có cửa sổ chính trong các phần tử html cuối cùng trong trình duyệt.

Bạn có thể đọc một câu trả lời Hỗ trợ Dev tại đây: https://www.devexpress.com/Support/Center/Question/Details/B199294

Và từ ASP.NET Diễn đàn, Terry Guo câu trả lời tại đây: http://forums.asp.net/t/1990775.aspx?How+to+close+the+popup+from+the+popup+containing+page+

Hope trợ giúp này.