我有一個asp.net頁面,其中包含嵌入了一些數據和ImageButton的Iframe。上的ImageButton單擊事件(服務器端)我有Response.Redirct:如何打開Iframe中的重定向頁面在ASP.NET的父窗口中打開?
Response.Redirect("results.aspx");
這總是在iframe中打開results.aspx。我希望results.aspx應該始終在父窗口中打開。我嘗試了以下直到現在,但沒有工作:
Response.Redirect("<script language='javascript'>self.parent.location='results.aspx';</script>");
Response.Redirect("javascript:parent.change_parent_url('results.aspx');");
作爲迴應Rifk,我添加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()來觸發?或者,當服務器端代碼成功執行時,我該如何觸發?
我很抱歉,但多少有些失落。不知道如何實現它。在我的IFrame頁面上寫什麼?你想讓我使用Page.ClientScript.RegisterClientScriptBlock()方法嗎?但是如何通過我的ImageButton click事件來連接它? – 2011-02-17 13:45:48
在您的圖像按鈕上,您可以設置OnClientClick屬性以運行javascript方法,如下所述:http://www.w3schools.com/aspnet/prop_webcontrol_imagebutton_onclientclick.asp。然後你的javascript方法就會有你上面提供的語句,比如:「self.parent.location ='results.aspx';」。 – 2011-02-17 16:23:40
Rifk,這樣做會使OnClientClick(客戶端代碼)無需等待我對OnClick(服務器端代碼)的處理即可運行。對?我們在OnClick中有一些業務邏輯需要在重定向之前執行。感謝您的時間和解釋。 – 2011-02-17 20:54:30