Frage

ich ein Suchfeld, das nicht auf eine Schaltfläche einreichen muss, muss ich der Lage sein, ein Verfahren drücken Sie die Eingabetaste und dann ausführen, wie mache ich das?

War es hilfreich?

Lösung

Sie auch etwas Einfaches wie dies mit CSS tun könnten:

<asp:Panel DefaultButton="myButton" runat="server">
    <asp:TextBox ID="myTextBox" runat="server" />
    <asp:Button ID="myButton" runat="server" onclick="myButton_Click" style="display: none; "  />
</asp:Panel>

Das Panel kann oder auch nicht notwendig sein, abhängig von der jeweiligen Implementierung und Kontrollen umgeben, aber das funktioniert und hat eine Postbacks für mich.

Andere Tipps

Sie können eine versteckte Schaltfläche auf der Seite und Draht-up Ihrer Methode, dass die Taste der Click-Ereignis hinzuzufügen. Dann fügen Sie ein kleines Stück von JavaScript, das Schaltfläche Postback Aktion auszulösen, wenn Sie im Textfeld die Eingabetaste drücken.

this.myTextBox.Attributes.Add(
    "onkeydown", 
    "return keyDownHandler(13, 'javascript:" 
     + this.Page.ClientScript.GetPostBackEventReference(this.myButton, string.Empty).Replace("'", "%27") 
     + "', event);");

(könnten Sie ersetzen auch die hartcodierte 13 mit DotNetNuke 's ClientAPI Web-Dienstprogramm .

Verwenden Sie das Textchanged-Ereignis, und stellen Sie die Autopostback-Eigenschaft auf true.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top