2013-11-14 70 views
0

我有一個普通的形式與後URL和runat服務器。 在這個表單中我有普通的HTML字段,但也有一些ASP控件 這些ASP控件是用於我自己的驗證碼,但是當我按下我的驗證碼提交按鈕時,它會提交整個表單而不僅僅是onClick代碼隱藏事件。 我試過使用LinkBut​​tons等等而不是普通的按鈕,以避免它混淆窗體,但它仍然不工作。C#webforms onClick事件混合與表單提交

有沒有辦法用回發和所有東西做一個onClick事件,而不會發布它裏面的表單?

+0

發佈表單是POSTBACK的一部分。你期望什麼行爲? – Smeegs

回答

0

這就是ASP.NET的工作原理。代碼隱藏事件處理程序在服務器上執行,因此需要完整的提交 - 回發 - 重新呈現循環來處理它。

您可以使用UpdateControl進行AJAX風格的部分頁面更新。請注意,它仍然會執行整個提交 - 回發 - 重新投遞循環,但它只會更新頁面的一部分。

+0

因此,在webforms中使用普通表單幾乎是不可能的? – HenrikP

+0

您可以定義不具有runat =「server」屬性的表單,並且可以執行任何禁止回發的JavaScript魔術。但是爲了調用代碼隱藏的C#代碼,你必須做一個完整的回發,部分回發,或者作爲另一種選擇,你可以從你的ASP.NET應用程序中調用web服務。 – fejesjoco