2010-02-16 27 views
4

我有一個asp.net頁面中的iframe,所有環節_blank目標如何在ASP.NET中設置表單提交的目標框架?

<base target="_blank" /> 

但我想它的形式提交給_self(即在頁面所在的IFRAME)當一個按鈕點擊。該表格是一個<asp:Panel>,提供控件。

我在哪裏可以設置此表單的目標?由於文件中沒有<form>標記或<input>標記(ASP.NET在渲染頁面時會顯示它),所以我不知道如何更改目標以覆蓋標記<base>

+0

您是否要提交到包含iFrame的頁面? – Kirschstein

+0

我想要提交的目標頁面所在的iframe,因爲它會如果我沒有標記在那裏 – adambox

回答

3

我剛剛在asp.net論壇上發現this postmokeefe改變目標的javascript。

我只是把它放在我的頁面,並嘗試它。我不得不做出這些修改:

我只使用ASP標記,所以我有不<input type="button">和我的onclick必須是服務器端的方法,我號召提交。因此,我把這個新的JavaScript在的OnClientClick

<asp:Button ID="cmdEmailSearch" runat="server" Text="Search" 
      OnClick="cmdEmailSearch_Click" 
      OnClientClick="javascript:pageSubmit()"/> 

2.我刪除了myForm.submit(),因爲ASP.NET將呈現把WebForm_DoPostBackWithOptions()的JavaScript按鈕的的onclick頁面它把我的pageSubmit()

<script type="text/javascript"> 

    function pageSubmit(){ 
     // where form1 is the Parent Form Id 
     var myForm = document.getElementById('form1'); 
     myForm.target = '_self'; 
    }// end function 
</script> 
4

之後,我不知道如果我理解你りght,但是您可以在表單標籤中設置目標,如下所示:

<form method=post action="Page.aspx" target="_self"> 
+0

訣竅是我使用ASP.NET每頁一頁的東西。我的「表單」是一個asp:Panel標籤,所以我無法將目標屬性放在任何地方(我需要我的以便我的頁面上的鏈接轉到新標籤頁) – adambox