Ich habe eine ASP.Net 4.5.1 Seite geschrieben in C#, die eine Anzahl von TextBoxen enthält. Wenn sich der Text in einer der TextBoxen ändert, möchte ich eine Methode aufrufen, die 1) die Schaltfläche Speichern aktiviert und b) den Fokus auf die TextBox mit dem nächsten TabIndex nach der TextBox verschiebt, die den PostBack ausgelöst hat. Hier ist mein Code so weit:Setzen Sie TabIndex auf Next Control in ASP.Net
protected void EnableSaveButton(object sender, EventArgs e)
{
if ((REQUEST_PHASE)this.CurrentPhaseID == REQUEST_PHASE.RECORDS)
{
btnSaveACProperty.Disabled = false;
Control control = (Control)sender;
int tabindex = 0;
if (control != null)
{
}
}
}
Was ich tun möchte, ist die TabIndex Kontrolle geraten und dann finden die Steuerung mit TabIndex + 1 und machen Sie einen SetFocus() auf sie. Mein Problem ist, dass die Steuervariable in meinem Code keine Eigenschaft von TabIndex hat. Wie mache ich das?
Die Seite zu verursachen, jedes Mal zurück zum Server zu posten, wenn ein Textkasten sich ändert, scheint eine schlechte Idee zu sein. Sie sollten dies in Javascript stattdessen tun. –
Leider muss ich in meinem Code nach dieser.CurrentPhaseID suchen und tue dies nur, wenn es auf einen bestimmten Wert eingestellt ist. Ansonsten würde ich Javascript in Betracht ziehen. Aber ich kann entscheiden, CurrentPhaseID zu ignorieren, wenn dies am Backend zu einem Albtraum wird. Also danke für den Vorschlag. – Melanie
Ja: https://stackoverflow.com/questions/7208161/focus-next-element-in-tab-index –