Eines der nervigsten Dinge bei der Webentwicklung ist der Umgang mit der „Eingabetaste“ für Formulare. Die „Eingabetaste“ ist zur bevorzugten Einstellung eines Benutzers beim Absenden von Formularen geworden. Obwohl wir Benutzern eine Schaltfläche zum Senden zur Verfügung stellen, ist die einfachste und direkteste Möglichkeit immer noch: Geben Sie Text ein und drücken Sie die Eingabetaste, um die Übermittlung abzuschließen
. ASP.NET 2.0 bietet hierfür eine gute Lösung. Weisen Sie einfach das Attribut „defaultbutton“ der ID des Schaltflächensteuerelements zu, für das Sie das Ereignis auslösen möchten.
„defaultbutton“ kann sowohl auf Formularebene als auch auf Panelebene angegeben werden (Tag <asp:panel>). Wenn die Standardschaltfläche sowohl im Formular als auch im Panel angegeben ist und die „Eingabetaste“ im Panel ausgelöst wird,
verfügt der folgende Beispielcode im Ausführungspanel über ein Formular und 4 Panels, und es gibt Schaltflächen in der Reihenfolge und im Panel . Achtung: Welche Schaltflächenereignisse werden nach Drücken der Eingabetaste im Textfeld
<form id="form1" runat="server" defaultbutton="btn1">
<div>
ausgelöst?
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:Button ID="Button5" runat="server" Text="Cancel" OnClick="Button5_Click" />
<asp:Button ID="btn1" runat="server" Text="Submit" OnClick="btn1_Click" />
<asp:Panel ID="pnl1" runat="server" defaultbutton="Button1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
</asp:Panel>
<asp:Panel ID="Panel1" runat="server" defaultbutton="Button2">
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" defaultbutton="Button3">
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<asp:Button ID="Button3" runat="server" Text="Button3" OnClick="Button3_Click" />
</asp:Panel>
<asp:Panel ID="Panel3" runat="server" defaultbutton="Button4">
<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
<asp:Button ID="Button4" runat="server" Text="Button4" OnClick="Button4_Click" />
</asp:Panel>
</div>
</form>
Die entsprechenden Beispielereignisse für die Schaltflächenklicks sind
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Button1.Text);
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(Button2.Text);
}
protected void Button3_Click(object sender, EventArgs e)
{
Response.Write(Button3.Text);
}
protected void Button4_Click(object sender, EventArgs e)
{
Response.Write(Button4.Text);
}
protected void btn1_Click(object sender, EventArgs e)
{
Response.Write(btn1.Text);
}
protected void Button5_Click(object sender, EventArgs e)
{
Response.Write(Button5.Text);
}
Originaltext: http://forums.asp.net/thread/1270048.aspx
Originaltext: http://forums.asp.net/thread/1270048.aspx
Ich weiß wirklich nicht, wie ich „Eingabeschlüssel“
beim Herunterladen des Codes
übersetzen soll. Bitte geben Sie mir einen Rat.
Danke