2014-09-12 12 views
0

在我asp頁我有這resonds上asp button click行動的URL form但現在我有叫onclick方法ASP buttonform action不讓我火onclick事件也。 如果我從asp頁面中刪除form action。我能夠觸發按鈕的onclick。其實我有重定向到一個頁面後動作completes.My源代碼是:ASP頁面表單操作不會讓ASP按鈕的onclick射擊

<form action="URL1" runat="server" method="post"> 
<asp:Button ID="Button2" Text="Submit" runat="server" OnClick="Button2_Click2" 

</form> 

C#代碼:

protected void Button2_Click2(object sender, EventArgs e) 
    { 

     System.Diagnostics.Debug.WriteLine("test final"); 
     Response.Redirect("http://www.url2.com/"); 
    } 
+0

是你唯一的表單嗎? – Alexander 2014-09-12 11:08:39

+0

沒有其他數據也存在,但這是主要部分..一些文本框數據也存在 – user3226440 2014-09-12 11:11:15

+0

你有多個FORM標籤嗎?因爲在ASP.NET WebForms中不允許這樣做。 – Alexander 2014-09-12 11:12:40

回答

0

是您的表單標籤以及怎樣形成的?它還需要通過添加runat =「server」和一個id來成爲「服務器控制」。

您現在有一個錯字:runnat = 「服務器」 應該的Runat = 「服務器」

+0

對不起,這是runat =「服務器」只與ID ... – user3226440 2014-09-12 11:11:55

0

你應該使用

<form runat="server"> 
     .. 
    </form> 

而已無外乎

+0

但我希望頁面重定向與表單動作URL .. – user3226440 2014-09-12 11:09:38

0

你可以調用Java腳本函數在你的按鈕客戶端點擊這樣的事件

<asp:Button ID="Button2" UseSubmitBehavior="true" OnClientClick="javascript:return RedirectURL();" Text="Submit" runat="server" OnClick="Button2_Click2" /> 

創建JavaScript函數在頭節

<script type="text/javascript"> 
     function RedirectURL() { 
      window.location = "Your URL goes here."; 
return false; 
     } 
    </script> 
+0

試過這..但不工作只有一件事是這個或形式行動 – user3226440 2014-09-12 12:48:10

0

採取這樣

<a href="http://www.url2.com/"> 
    <asp:Label ID="lbl" runat="Server" Text="Button1"> 
</asp:Label> 
</a> 

這可以幫助你。

+0

無法正常工作。 ..形式行動頁面只是工作...而不是我給了按鈕的標籤 – user3226440 2014-09-12 12:49:06

0

ASP.NET的默認行爲是將表單元素的所有內容都回發到最初創建html並提供給客戶端的頁面類。這是點擊按鈕時觸發事件處理程序的必要條件。

但是,如果將表單元素上action屬性的值設置爲不同文件的名稱,則該屬性會覆蓋默認行爲,並且所有內容都會發布到該新位置。那麼如果你的事件處理程序位於不同的位置,並且你沒有發佈任何數據,你怎麼能期望你的事件處理程序被觸發。

如果您將表單元素的action屬性設置爲您的事件點擊處理程序定義的文件的名稱,那麼它肯定會觸發。假設「Button2_Click2」在Default.aspx中定義。

<form action="Default.aspx" runat="server" method="post"> 

在這種情況下,您並不需要「動作」屬性。

因此,您的問題的原因不在於動作屬性的存在,而是您將回發重定向到其他位置。

最終,這是一個設計問題 - 我有一種感覺,你可以通過重新設計你的解決方案來實現你的目標。