WebForms使用回车键提交特定表单(不单击)

时间:2011-06-13 20:06:27

标签: c# asp.net webforms multiple-forms

假设我有一个整页表单,但在表单中,提交时需要发生两个或更多事件:Login& Register

的Site.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并点击 Return 键而不是实际点击“Register”,触发某些事件)时,会发生同样的事情。

是否有任何非JavaScript解决方案来获取 Return 键以提交表单中正确的,当前重点部分?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

默认按钮听起来可能是你今晚的朋友 - http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlform.defaultbutton.aspx

实际上它可能不是,我没有尝试过没有Javascript。