2009-05-20 7 views
3

Ich habe den folgenden CodeTextbox Dehnung Ausgabe

<table cellpadding="2" cellspacing="2"> 
    <tr> 
    <td>Factory:</td> 
    <td> 
     <asp:TextBox ID="txtFactory" runat="server" Width="100%"></asp:TextBox> 
    </td> 
    </tr> 
</table> 

Mein Problem ist, dass manchmal die Fabrik Textbox eine ziemlich lange Beschreibung von 100 oder mehr Zeichen halten kann, und wenn dies meine Textbox geschieht weitet sich über den Rand des Bildschirm, der dann eine horizontale Bildlaufleiste am unteren Rand meines Browsers erscheinen lässt, und das will ich wirklich nicht. Ich möchte, dass meine TextBox sich auf die Breite des Browserfensters ausdehnt und dass die Größe geändert werden kann, wenn der Benutzer die Größe seines Browserfensters ändert.

+0

Haben Sie Code in der CodeBehind-Datei, der die Breite der TextBox in irgendeiner Weise ändert? –

+0

Ich verwendete Ihren Code und hatte keine Bildlaufprobleme beim Laden der Textbox mit viel Text in IE und FF. Enthält Ihr Text keine Leerzeichen? – RedFilter

+0

@Fredrik - Nein, tue ich nicht. Gute Idee aber. – Jagd

Antwort

1

Wenn Sie Javascript nicht verwenden, hat jQuery eine sehr einfache Lösung für dieses Problem. Sie können damit zunächst die Größe des Textfelds festlegen und dem body-Tag einen resize-Ereignishandler hinzufügen. Im Ereignishandler muss das Textfeld einfach mit der Breite des Textfelds übereinstimmen.

+0

Ich benutze Javascript flagrantly, aber ich muss noch anfangen, jQuery zu benutzen. Ich sollte aber anfangen. ;) – Jagd

1

Jagd,

Überprüfen Sie die Wrap und MaxLength-Eigenschaften.

W3Schools hat einige gute Informationen zu WebControls.

(http):.. //www.w3schools (com)/aspnet/control_textbox (asp)
--- Ich kann keine Links noch, sorry ---

Good Luck,

-Robert

1

Überprüfen Sie Ihre HTML mit FF mit dem Firebug und sehen Sie, was Ihren Hauptbehälter erweitert.

Wenn der Text seine zu lange und hat keine Leerzeichen, wird der Browser nicht wissen, wo ein Zeilenumbruch zu platzieren, kann dieses Verhalten mit dem WRAP Attribut in der TD oder TextBox geändert werden (die als wiedergegeben wird SPAN einmal im Browser).

1

Wo ist Ihr Etikett für das Formularelement? Warum verwenden Sie Tabellen für das Layout? Warum geben Sie eine Breite für das Textfeld im HTML-Code und nicht in Ihrer CSS-Datei an?

Bitte Dinge richtig machen!

+1

Bitte, ersparen Sie mir den Neurosmus. Ich frage hier nicht nach einem Tisch vs. Div-Argument. Es gibt immer noch Zeiten, in denen man ein Tabellen-Tag verwenden muss. – Jagd