Foros del Web » Programando para Internet » ASPX (.net) »

Parsar datos entre componentes

Estas en el tema de Parsar datos entre componentes en el foro de ASPX (.net) en Foros del Web. Saludos a todos... Tengo el siguiente codigo: <script runat="server"> Protected Sub FormView1_pasardato(ByVal sender As Object, ByVal e As EventArgs) Dim codigotextbox As TextBox = FormView1.FindControl("codigotextbox") ...
  #1 (permalink)  
Antiguo 01/05/2007, 21:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 21 años, 1 mes
Puntos: 0
Parsar datos entre componentes

Saludos a todos...

Tengo el siguiente codigo:

<script runat="server">

Protected Sub FormView1_pasardato(ByVal sender As Object, ByVal e As EventArgs)
Dim codigotextbox As TextBox = FormView1.FindControl("codigotextbox")
codigotextbox.Text = dd_cod.SelectedValue

End Sub
</script>


Lo que quiero hacer es pasar el valor seleccionado en un DropDownList a un TextBox que esta dentro de un formulario para que el usuario ya no tenga que digitar ese valor.

Al probar el codigo me indica:

Error de servidor en la aplicación '/amp'.
Referencia a objeto no establecida como instancia de un objeto.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

Me marca el error en la linea:

Línea 9: codigotextbox.Text = dd_cod.SelectedValue


Porque sera?

Muchas gracias
  #2 (permalink)  
Antiguo 01/05/2007, 22:02
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años, 8 meses
Puntos: 9
Re: Parsar datos entre componentes

Puedes comprobar que estás colocando valores en el DropDownList y no sólo texto.

Si no es así, prueba con la propiedad SelectedText.

Y no olvides definir si la página que carga no es Postback, para no definir el valor cuando es la primera carga.

Suerte!
  #3 (permalink)  
Antiguo 02/05/2007, 09:13
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: Parsar datos entre componentes

Grecias Yaraher...

Pero no me sale!!!

Tengo esto:

<script runat="server">
Sub FormView1_pasardato(ByVal sender As Object, ByVal e As EventArgs)
Dim codigotextbox As TextBox = FormView1.FindControl("codigotextbox")
codigotextbox.Text = dd.SelectedValue
End Sub
</script>

y lo activo con esto:

<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" OnModeChanged="FormView1_pasardato" >

en esta linea:

codigotextbox.Text = dd.SelectedValue

lo he intentado con "dd.SelectedIndex" y "dd.SelectedItem" pero nada, me manda un error como si no existiera algun objeto.... yo ya lo revise muchas veces pero segun yo todo existe, a lo mejor no se hacer bien la referencia.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 7: Sub FormView1_pasardato(ByVal sender As Object, ByVal e As EventArgs)
Line 8: Dim codigotextbox As TextBox = FormView1.FindControl("codigotextbox")
Line 9: codigotextbox.Text = dd.SelectedValue
Line 10: End Sub
Line 11: </script>



Este es mi codigo de ejemplo:


Código:
<%@ Page Language="VB" debug="true"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<script runat="server">
    Sub FormView1_pasardato(ByVal sender As Object, ByVal e As EventArgs)
        Dim codigotextbox As TextBox = FormView1.FindControl("codigotextbox")
        codigotextbox.Text = dd.SelectedValue
    End Sub
</script>



<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        &nbsp;<asp:DropDownList ID="dd" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource2" DataTextField="codigo" DataValueField="codigo" >
        </asp:DropDownList><asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:Conn %>"
            ProviderName="<%$ ConnectionStrings:Conn.ProviderName %>" SelectCommand="SELECT [codigo] FROM [productos]">
        </asp:SqlDataSource>
        &nbsp;&nbsp;&nbsp;<br />
        <br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="codigo"
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="codigo" HeaderText="codigo" ReadOnly="True" SortExpression="codigo" />
                <asp:BoundField DataField="descripcion" HeaderText="descripcion" SortExpression="descripcion" />
                <asp:BoundField DataField="empaque" HeaderText="empaque" SortExpression="empaque" />
                <asp:BoundField DataField="localizacion" HeaderText="localizacion" SortExpression="localizacion" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Conn %>"
            ProviderName="<%$ ConnectionStrings:Conn.ProviderName %>" SelectCommand="SELECT [codigo], [descripcion], [empaque], [localizacion] FROM [productos] WHERE ([codigo] = ?)">
            <SelectParameters>
                <asp:FormParameter FormField="dd" Name="codigo" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
        &nbsp;&nbsp;&nbsp;<br />
        <asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" OnModeChanged="FormView1_pasardato" >
            <InsertItemTemplate>
                codigo:
                <asp:TextBox ID="codigoTextBox" runat="server"  Text='<%# Bind("codigo") %>'></asp:TextBox><br />
                lote:
                <asp:TextBox ID="loteTextBox" runat="server" Text='<%# Bind("lote") %>'></asp:TextBox><br />
                cantidad:
                <asp:TextBox ID="cantidadTextBox" runat="server" Text='<%# Bind("cantidad") %>'></asp:TextBox><br />
                kilos:
                <asp:TextBox ID="kilosTextBox" runat="server" Text='<%# Bind("kilos") %>'></asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert"></asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel"></asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                <br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New"></asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
        <br />
        <br />
        <br />
        <br />
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" InsertMethod="Insert"
            OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="DataSet1TableAdapters.lotesTableAdapter" >
            <InsertParameters>
                <asp:Parameter Name="codigo" Type="Int32" />
                <asp:Parameter Name="lote" Type="String" />
                <asp:Parameter Name="cantidad" Type="Int32"/>
                <asp:Parameter Name="kilos" Type="Int32" />                                
            </InsertParameters>            
        </asp:ObjectDataSource>
    </form>
</body>
</html>


Muchas pero muchas gracias!!!
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 02:34.