2013-11-01 3 views
0

У меня есть сохранение & закрыть кнопку, где мне нужно закрыть мою страницу после сохранения данных. Я пробовал много, но никто не работал.Закройте страницу на кнопке. Нажмите asp.net C#

Код За:

protected void btnSaveClose_Click(object sender, EventArgs e) 
    { 
     Save(); 
     ClientScript.RegisterClientScriptBlock(Page.GetType(), "script", "window.close();", true); 
    } 

мне нужна помощь закрытия окна.

ответ

2

MDN documentation по методу close объясняет некоторые ограничения:

Этот метод допускается только называется для окон, которые были открыты с помощью сценария с использованием метода window.open. Если окно не открывается с помощью сценария, следующая ошибка появляется в консоли JavaScript: Scripts may not close windows that were not opened by script.

Другими словами, этот метод просто не будет работать, если окно не было открыто с помощью метода window.open.

0

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

<asp:Panel id="formPanel" runat="server"> 
    <!-- Your form controls go here --> 
</asp:Panel> 

<asp:Panel id="confirmPanel" runat="server"> 
    <!-- Confirmation message --> 
</asp:Panel> 

<asp:Panel id="errorPanel" runat="server"> 
    <!-- Error message --> 
</asp:Panel> 

Просто переключать видимое свойство этих панелей в соответствующих местах в коде-позади.

0

Спасибо всем. Вот решение, которое зафиксировало это.

protected void Page_PreRender(object sender, EventArgs e) 
    { 
     if (ViewState["closewindow"] != null) 
      closewindow = (bool)ViewState["closewindow"]; 
     if (closewindow) 
     { 
      closewindow = false; 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "Close_Window", "self.close();", true); 
      ///System.Web.UI.ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Close_Window", "self.close();", true); 
     } 
    } 
0
string display = "Your dispaly"; 

ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + display + "');", true);//this will dispaly the alert box 


ScriptManager.RegisterStartupScript(this, this.GetType(), "Close_Window", "self.close();", true);//this will close the page on button click 

Это работает для меня Спасибо всем

Смежные вопросы