2012-06-20 7 views
10

Tengo un botón en mi página de código subyacente hago esto:pantalla ninguno/eliminar el estilo de código de asp.net atrás no trabaja

btnSaveLineItems.Style.Add("display", "none");

Pero después me quieren mostrar que el botón de modo he intentado esto:

btnSaveLineItems.Style.Clear();

ésto no parece reshow el botón ... el código hTML en un principio tiene un "estilo = display: none;" al comienzo de la página ... y mantiene ese estilo a pesar de que trato de eliminarlo?

¿Alguien puede ayudar con esto ...

Cuando mi página inicia por primera vez tengo esto:

btnSaveLineItems.Style["display"] = "none";

Esto hace que el siguiente aspecto en HTML:

<input type="submit" name="ctl00$MainContent$btnSaveLineItems" value="Save" id="MainContent_btnSaveLineItems" title="Save changes?" style="border-color:#4B6C9E;border-style:Solid;display:none;" />

Luego ocurre un evento (evento de cambio de índice seleccionado de un cuadro desplegable) donde hago esto:

btnSaveLineItems.Style["display"] = "";

También he intentado:

btnSaveLineItems.Style [ "display"] = "bloque";

y ambos rinden el mismo HTML:

<input type="submit" name="ctl00$MainContent$btnSaveLineItems" value="Save" id="MainContent_btnSaveLineItems" title="Save changes?" style="border-color:#4B6C9E;border-style:Solid;display:none;" />

+1

+1. tiene que aprender algo nuevo de esta consulta. – Pankaj

Respuesta

9

Puede eliminar ese estilo de esta manera:

btnSaveLineItems.Style["display"] = ""; 

o

btnSaveLineItems.Style.Remove("display"); 

Editar:

que no funciona para mí tampoco ... Me pregunto si es porque de la lista desplegable abajo está dentro de un panel de actualización y este botón se encuentra fuera de la UpdatePanel?

Sí, solo puede actualizar el contenido del actual UpdatePanel en una devolución de datos asincrónica de forma predeterminada.La forma más fácil sería poner el botón en otro UpdatePanel y añadir la DropDownList como AsyncPostBackTrigger:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlChanged"> 
     <asp:ListItem Text="Item 1" Value="1"></asp:ListItem> 
     <asp:ListItem Text="Item 2" Value="2"></asp:ListItem> 
    </asp:DropDownList> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

    <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <asp:Button ID="btnSaveLineItems" Text="click me" runat="server" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="DropDownList1" /> 
    </Triggers> 
    </asp:UpdatePanel> 
+0

Eso tampoco funciona para mí ... Me pregunto si es porque el cuadro de lista desplegable está dentro de un panel de actualización y este botón está fuera del panel de actualización. – oJM86o

+2

La primera línea que diste no puede ser válida javascript – Esailija

+1

Ya he probado ambos ... – oJM86o

1
btnSaveLineItems.Style["display"] = "block"; 
+0

Esto no ayuda ... – oJM86o

+0

Es un código probado. Cuando necesite mostrar el 'Botón', establezca el atributo' display' en 'block'. Eso es todo :) – Pankaj

+0

No, no es eso, el html renderizado sale como ' 'He depurado mi código. – oJM86o

1

esto funciona:

gv.Style.Add(HtmlTextWriterStyle.Top, "-44px"); 

para añadir el estilo

y

gv.Style.Remove("top"); 

para eliminar el estilo

Cuestiones relacionadas