2011-02-18 10 views
8

Tengo un control de usuario en una página de un sitio web que genera un cuadro de texto. El cuadro de texto tiene un ancho especificado, pero el cuadro de texto se muestra intermitentemente a un ancho mucho más pequeño que el especificado en el código. Pedí a los usuarios que me enviaran copias de la salida "ver fuente" para poder comparar buenos y malos resultados. Por "intermitente", me refiero a compilaciones similares: computadoras diferentes. Tenga en cuenta que los malos resultados SIEMPRE se muestran en las mismas computadoras "malas" (hay más de un usuario con este problema) y, a la inversa, las computadoras "buenas" (todas con la misma versión de IE7 que las computadoras "malas")) siempre muestre resultados "buenos".Problemas de ancho de cuadro de texto: ASP.NET

Cuando la página se muestra correctamente, el código HTML que se envía al navegador tiene el siguiente aspecto:

<input name="ShortDescription" type="text" maxlength="100" 
id="ShortDescription" class="content" style="width:800px;" /> 

y cuando se hace de forma incorrecta, se ve así:

<input name="ShortDescription" type="text" maxlength="100" 
id="ShortDescription" class="content" /> 

En tanto casos, el código de ASP.NET es:

<asp:textbox id="ShortDescription" runat="server" 
CssClass="content" Width="800px" MaxLength="100"> </asp:textbox> 

no estoy seguro de por qué la etiqueta de estilo se está caído. Las páginas anteriores fueron vistas en el mismo navegador (IE7) en diferentes computadoras. Las computadoras tienen una versión corporativa por lo que "deberían" configurarse de la misma manera.

¡Agradecería cualquier ayuda!

Respuesta

11

Pruebe a establecer el cuadro de texto con en el CssClass, o como un parámetro atributo de estilo en lugar de utilizar el ancho de atribuir

<asp:TextBox id="ShortDescription" runat="server" CssClass="content" MaxLength="100" style="width: 800px" />
<style>.content { width: 800px }</style> 
<asp:TextBox id="ShortDescription" runat="server" CssClass="content" MaxLength="100" />
+0

Gracias !!!! ¡Esto lo hizo por mí! – user623863

+0

Si alguien está luchando con el uso del ancho como un porcentaje, intente utilizar la propiedad min-width en su lugar –

5

En el pasado descubrí que establecer el ancho de la clase, en lugar de usar la propiedad de ancho del cuadro de texto, asegurará que el control se represente correctamente.

0

asp:textbox, que compila a una etiqueta de input no tiene un "ancho" atributo según w3. Es compatible con el atributo "tamaño". IE (678) probablemente pasaría un mejor momento con el estándar, mientras que otros navegadores son ... más flexibles en su interpretación.

http://www.w3.org/MarkUp/1995-archive/Elements/INPUT.html

0

para fijar el ancho del cuadro de texto

tomar un archivo de la piel y poner el código de abajo ...

por ejemplo "skinFile.skin"

<textbox runat="server" width="200px"/>

......................................

después de eso pon el siguiente código en tu página aspx.

Theme="SkinFile 

por ejemplo ...

<%@ Page Language="C#" MasterPageFile="~/AdminMaster.master" AutoEventWireup="true" CodeFile="stu_resgistration.aspx.cs" Inherits="AdminSide_stu_resgistration" Title="Untitled Page" Theme="SkinFile"%> 
3

aplicar la propiedad-min anchura.

en su hoja de estilos CSS

.Textbox 
{ 
min-width:100%; 
} 

En Tu * .aspx

<asp:TextBox CssClass="TextboxStyle" placeholder="Enter the Title" runat="server" ID="TextBox1"></asp:TextBox> 

Esto actualizará el cuadro de texto

+0

Esta fue la única solución que funcionó para mí – TMan

+0

Por otro lado, puede establecer el ancho máximo 'max-width: none' – Milana

Cuestiones relacionadas