páginas maestras, páginas de forma, la forma runat = server> todos los métodos onclick en la página principal?

StackOverflow https://stackoverflow.com/questions/2889851

Pregunta

El problema que tengo es que tengo varias páginas maestras anidadas:

  • Nivel 1 : mundial (encabezado, pie de acceso, navegación, etc ...)
  • Nivel 2 : específico (páginas, páginas de la cuenta, buscar etc ...)
  • Nivel 3 : la propia página

Ahora, ya que sólo un formulario puede tener runat=server, i poner el formulario en la página mundial (por lo que puedo manejar las cosas como login, comentarios, etc ...).

Ahora con esta solución tendría que también puso el ejemplo para el nivel 3 (véase más arriba) métodos, como la búsqueda también en la página maestra de nivel 1, pero esto llevará a esta página ser pesado (para el desarrollo) con código de todos los lugares, incluso aquellos que se utilizan en una sola hoja (en forma de correo electrónico cambio, por ejemplo).

¿hay alguna manera de delegar tales métodos de los eventos onclick (por ejemplo: ChangeEMail). Desde el nivel 1 (masterpage global) a nivel 3 (la página única en sí)

a ser aún más claro: quiero no tiene que tener la ChangeEMail método en la página maestra código detrás mundial, pero me gustaría 'Mover' de alguna manera a la única página que realmente va a usar. la razón por la que actualmente tiene que estar en el maestro mundial es que amo global tiene form runat=server y no puede haber sólo uno de ellos por página aspx.

De esta manera será más fácil (más lógico) para estructurar el código.

thnx (espero que me lo explicó correctamente)

han buscado, pero no encontró ninguna información general sobre el manejo de este caso, usualy la respuesta es: tiene todos los métodos en la página maestra, pero no me gusta mucho. por lo que cualquier forma de moverlo a la página específica sería impresionante. thnx

editar también parte de la misma cosa ... por el contrario - la forma de acceder al textbox1.text por ejemplo, en la página de contenido de la página principal? cualquier mejores prácticas para esto?

¿Fue útil?

Solución

Si coloca el botón de búsqueda y cuadro de texto en la misma .aspx (nivel 3) el controlador de eventos también ir en la página (o su código subyacente). No importa que la etiqueta de formulario está en la masterpage mundial (nivel 1)

En cuanto a su segunda pregunta: Se puede utilizar

var tb = this.FindControl("textbox1") as TextBox;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top