У меня есть страница asp.net, которая содержит Iframe, встроенный с некоторыми данными, и ImageButton.На событии щелчка ImageButton (на стороне сервера) у меня есть Response.Redirct:
Response.Redirect("results.aspx");
Это всегда открывает results.aspx в iframe.Я хочу, чтобы результаты .aspx всегда открывались в родительском окне.До сих пор я пробовал следующее, но ничего не получалось:
Response.Redirect("<script language='javascript'>self.parent.location='results.aspx';</script>");
Response.Redirect("javascript:parent.change_parent_url('results.aspx');");
В ответ на вопрос Рифка я добавил ClientScriptManager..aspx имеет эту запись:
<asp:ImageButton ID="ImageButton_ok" ImageUrl="~/images/ok.gif"
OnClick="btnVerify_Click" OnClientClick="ValidateFields()"
runat="server" />
Код в Page_Load ():
ClientScriptManager cs = Page.ClientScript;
StringBuilder myscript = new StringBuilder();
myscript.Append("<script type=\"text/javascript\"> function ValidateFields() {");
myscript.Append("self.parent.location='default.aspx';} </");
myscript.Append("script>");
cs.RegisterClientScriptBlock(this.GetType(), "ButtonClickScript", myscript.ToString());
btnVerify_Click имеет основную бизнес-логику.Как я остановлю OnClientClick () для запуска, если моя бизнес-логика не работает?или, как я могу запустить, когда серверный код успешно выполняется?