2011-06-13 71 views
3

說我有一個整版的形式,但形式中,有需要發生在提交兩個或多個事件:Login & Register的WebForms提交與回車鍵(不點擊)具體形式

網站的.master:

<%@ Master Language="C#" AutoEventWireup="true" 
    EnableViewState="true" CodeBehind="Site.Master.cs" 
    Inherits="Site.SiteMasterPage" %> 

<!doctype> 
<html> 
<head runat="server"> 
    <%-- stuff --%>  
</head> 
<body> 
<form ID="MainForm" action="" runat="server"> 

    <asp:Login id="LoginControl" runat="server" />  
    <asp:CreateUserWizard id="RegisterControl" runat="server" /> 

</form> 
</body> 
</html> 

如果我的光標的重點是內部的input type="text"asp:Login,和我打返回(使用JavaScript關閉),頁面提交,但我沒有登錄

,當我嘗試註冊(填寫完CreateUserWizard控件,並擊中返回關鍵,而不是實際點擊「註冊」,發射的一些事件)

發生同樣的事情有沒有得到任何非JavaScript的解決方案返回提交正確,當前重點部分的表單的關鍵?

回答

8

面板控制可以讓你的範圍內定義默認的按鈕它的內容:

<asp:Panel runat="server" DefaultButton="submitButtonA"> 
<asp:LinkButton ID="submitButtonA" runat="server" Text="Submit A"/> 
</asp:Panel> 

<asp:Panel runat="server" DefaultButton="submitButtonB"> 
<asp:LinkButton ID="submitButtonB" runat="server" Text="Submit A"/> 
</asp:Panel> 
+0

所以這工作很好所有(謝謝!),但它似乎是一個解決方案,只適用於JavaScript ..是否有任何解決方法關閉JavaScript返回鍵表單提交? – tester 2011-06-13 20:24:31

+0

如果你決定在'asp:Panel'中嵌套createUserWizard,那麼必須做一些破解才能讓'asp:createUserWizard'使用正確的DefaultButton。 http://www.roastedamoeba.com/blog/archive/2008/06/24/setting-the-default-button-for-a-nested-control – tester 2011-06-13 21:31:57

1

默認按鈕聽起來像它可能是你的朋友今晚 - http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlform.defaultbutton.aspx

其實它可能不是,我還沒有過與沒有使用Javascript嘗試過。

+0

你可以看到如何在這裏定製的CreateUserWizard,http://forums.asp.net/p/1199977 /2086200.aspx – 2011-06-13 20:15:54

+0

之後嘗試http://stackoverflow.com/questions/6335707/webforms-submitting-specific-form-with-enter-key-not-clicking/6335799#6335799,這是你的建議,我已經確定這是一個純JavaScript的解決方案。目前這很棒,但我很想找到一個無JS的解決方案來解決這個問題(webforms的一個基本缺陷)。 – tester 2011-06-13 20:26:24

+0

在serverside OnLoad如果回發等...你可以調用按鈕的onclick處理程序?它必須是頁面上唯一可以工作的表單,但它可能會。 – 2011-06-13 20:29:30