Foros del Web » Programación para mayores de 30 ;) » .NET »

problemas con el PreviousPage.FindControl

Estas en el tema de problemas con el PreviousPage.FindControl en el foro de .NET en Foros del Web. Hola solicito de su ayuda ya que no se que esta pasando que el PreviousPage.FindControl no funciona ya que en mi proyecto tengo como inicio ...
  #1 (permalink)  
Antiguo 14/04/2010, 15:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Pregunta problemas con el PreviousPage.FindControl

Hola
solicito de su ayuda ya que no se que esta pasando que el PreviousPage.FindControl no funciona ya que en mi proyecto tengo como inicio de sesion el formulario default en el cual capturan el login y password, una vez que lo capturan busco el nombre del usuario y lo pongo en un textbox que no es visible y lo paso como valor a la siguiente pagina la cual se encuentra en una master page. pero al intentar leer el valor de la pagina anterior no lo lee o por lo menos no lo muestra.
anexo el codigo que estoy utilizando esta en asp.net y vb.net 2005
agradesco de antemano su ayuda que me puedan brindar porque no se que esta pasando

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>SISTEMA MÖEBIUS </title>
</head>
<body>
<form id="form1" runat="server">
<div id="header" style="background-color: transparent">
<br />
<asp:Image ID="Image2" runat="server" ImageUrl="~/Imagenes/logo2.gif" style="left: 272px; position: relative; top: 16px" /><br />
</div>
<div style="position: relative">
</div>

<asp:Label ID="Label1" runat="server" Font-Names="Tahoma" Font-Size="Larger" Style="left: 391px;
position: relative; top: 61px" Text="Login de Usuario:"></asp:Label>
<asp:TextBox ID="Txt_log" runat="server" Style="left: 487px; position: relative;
top: 61px"></asp:TextBox>&nbsp;

<asp:Label ID="Label2" runat="server" Font-Names="Tahoma" Font-Size="Larger" Style="left: 88px;
position: relative; top: 92px" Text="Password:"></asp:Label>
<asp:TextBox ID="Txt_Pass" runat="server" Style="left: 241px; position: relative;
top: 91px" TextMode="Password" Width="144px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Style="left: -44px; position: relative; top: 224px"
Text="Iniciar" Width="96px" />
<asp:TextBox ID="Txt_nombre" runat="server" Visible="False"></asp:TextBox>


</form>
</body>
</html>
en Default.aspx.vb
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Txt_nombre.Text= "nombre de usuario" <- este es el text que contiene el valor
Response.Redirect("~/Administrador/Defadmi.aspx")

End Sub
en la pagina Defadmi.aspx


<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Defadmi.aspx.vb" Inherits="Administrador_Defadmi" title="MÖEBIUS - Administrador" %>

<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">

<asp:Label ID="Label1" runat="server" Text="Label" ></asp:Label></p>

</asp:Content>

Defadmi.aspx.vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.PreviousPage Is Nothing Then
Dim SourceTextBox As TextBox
SourceTextBox = CType(PreviousPage.FindControl("Txt_nombre"), _
TextBox)
If Not SourceTextBox Is Nothing Then
Label1.Text = SourceTextBox.Text
Me.Master.Titulo =SourceTextBox.Text
End If

End If

End Sub


pero si esta linea la saco del if y le doy unValor directo
ejemplo Me.Master.Titulo ="accediendo a los controles de la masterpage"
muestra el dato


en la master page tengo esto
Master.master.vb
Partial Class MasterPage
Inherits System.Web.UI.MasterPage

Private m_Titulo As String
Public Property Titulo() As String
Get
Return m_Titulo
End Get
Set(ByVal value As String)
m_Titulo = value
Me.Lbl_NomUsu.Text = value
End Set
End Property
End Class
  #2 (permalink)  
Antiguo 14/04/2010, 21:18
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 5 meses
Puntos: 19
Respuesta: problemas con el PreviousPage.FindControl

hola

El problema que tenes que es el control no esta directamente en la página anterior, sino, que esta en la masterpage de la pagina anterior, por eso no podes acceder al control.

No recuerdo si se puede, pero proba si podes hacer esto:

Dim ph As ContentPlaceHolder = CType(PreviousPage.Master.FindControl("YourContent PlaceholderID"), ContentPlaceHolder
Dim tb As TextBox = CType(ph.FindControl(YourControlID), TextBox)
Label1.Text = tb.Text

Aca podes ver el artículo completo:

http://www.aspnet101.com/2008/01/usi...a-master-page/

http://blogs.mgtechgroup.com/markc/a...ter-Pages.aspx

suerte
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 06/03/2015, 13:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problemas con el PreviousPage.FindControl

Gracias!!!!!! funciono perfectamente.

Te cuento que TODOS LOS FOROS inclusive el msdn te cuentan como usarlo pero no preveen la situacion de extraer el dato cuando esta dentro de un contentplaceholder.

Creo que este problema se genera solamente en la pagina default.aspx, o sea en la pagina inicial porque cuando lo uso en las otras paginas no hay problema con sacarlo directamente desde el page.PreviousPage.findcontrol("nombredelcontrol")

nuevamente agradezco esta respuesta que buscaba hace varios dias!!


D.M.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.