.net div activación de devolución de datos

Me gustaría crear un botón personalizado que muestre 3 etiquetas de datos enlazados y algún otro texto. Me gustaría que este botón actuara como un asp: control de botón. Actualmente, la única idea que tengo es rodear las etiquetas con un div, activar el evento de clic de divs para usar un evento de javascript que causa una devolución de datos. No quiero esto, Me gustaría crear un botón personalizado que conecte la devolución de datos como lo hace un control de botón asp: normal. Cualquier idea sobre cómo hacer esto sería genial, muchas gracias.

    <div class="someClass">
        <div>
          <asp:Label ID="lblONE" runat="server" Text='ONE'></asp:Label>
        </div>
        <div>
          <asp:Label ID="lblTWO" runat="server" Text='TWO'></asp:Label>
        </div>
        <div>
          <asp:Label ID="lblTHREE" runat='server' Text='THREE'></asp:Label>
        </div>
   </div>

He aplicado CSS a los elementos y quiero que el botón acabe luciendo así. Excepto donde dice Bob Steve Mark, puedes sub en UNO DOS TRES respectivamente

Disposición de los botones

Disposición de los botones

preguntado el 08 de febrero de 11 a las 17:02

¿Qué quiere decir etiquetas enlazadas a datos? ¿Obtienes el texto de las etiquetas dinámicamente a través de db o cualquier servicio web? -

Lo siento, ¿está creando un botón personalizado con etiquetas? ¿A qué te refieres con los cables de la devolución de datos? -

@Waqas Raja Quiero decir que el texto en realidad será <% # Eval ('SOmething')%> -

@Nicklamort Me gustaría crear un botón personalizado que actúe como un botón .net típico, con la excepción de que quiero poder diseñar 3 etiquetas de enlace de datos en él. Me gustaría poder darle estilo a cualquier cosa y hacerlo como quiera, pero las 3 etiquetas son una línea de base. -

@waqas he agregado cómo debería verse el estilo del control. -

3 Respuestas

Puede lograr un diseño personalizado utilizando LinkButton (ya que LinkButton implementa IButtonControll de forma predeterminada)

<style type="text/css">
.button {
    border: solid thin black; text-decoration: none; display: block; height: 40px;
}
.one {
    color: green; text-transform: uppercase;
}
.two {
    color: red; text-transform: lowercase;
}
.three {
    color: blue; text-transform: capitalize;
}
</style>

    <asp:LinkButton runat="server" ID="LinkButton1" CssClass="button">
    <div class="one">ONE</div>
    <div class="two">TWO</div>
    <div class="three">THREE</div>
    </asp:LinkButton>

// as you need DataBinding, so

    <asp:LinkButton runat="server" ID="LinkButton1" CssClass="button">
    <div class="one"><%#Eval("ONE")%></div>
    <div class="two"><%#Eval("TWO")%></div>
    <div class="three"><%#Eval("THREE")%></div>
    </asp:LinkButton>

Respondido 08 Feb 11, 21:02

Me gustan las muestras aquí. Esencialmente la misma respuesta que la mía pero mejor. 8 ^ D - Dillie-O

A @ Dillie-O no le importa, pero comenté su pregunta (sugiriéndole que use LinkButton) antes de comenzar a escribir el código de muestra. - Waqas Raja

Muchas gracias, nunca he usado un botón de enlace ni he oído hablar de él. Muchas gracias raja !! - gh9

@ gh9 si lo desea, aquí hay más detalles sobre LinkButton msdn.microsoft.com/en-us/library/… - Waqas Raja

Puede usar el control LinkButton y asignar el texto de cada botón a través del código. Del mismo modo, también puede asignar los parámetros CommandName y CommandArgument a cada control LinkButton a medida que los representa, para que se procesen de forma única si es necesario.

Si desea que todo el texto enumerado anteriormente sea parte del LinkButton, debería poder colocar todo el texto y aplicarlo a la propiedad Text del LinkButton. Solo tienes que tener cuidado con el formato de tu HTML.

Desde allí, puede procesar el evento de clic de los botones en consecuencia.

Respondido 08 Feb 11, 20:02

Por lo que creo que estás tratando de lograr, probablemente estés atrapado con javascript. Sin embargo, puede usar javascript en el evento onClick de su contenedor div para "conectar" la devolución de datos para su "botón". __doPostBack(document.getElementById('divID'), 'customArgument');

Luego puede verificar si su div causó la publicación en su código subyacente de esta manera (C #):

if (Request.Form["__EVENTTARGET"] == "divID"){}

¿Es esto lo que estás buscando?

Respondido 08 Feb 11, 20:02

¿No hay forma de convertir esto en un control de servidor personalizado o control de usuario e implementar la interfaz IButtoncontrol? - gh9

Hmm, quizás deberías mirar en ajax. No estoy seguro, pero creo que esa sería tu mejor opción: Nick Rolando

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.