lunes, 27 de octubre de 2008

Como encontrar on objeto y cambiarle su valor o propiedades dentro de un dbgrid o datalist dentro de una fila! con ctype.

 

Muchas veces necesitamos cambiar el valor por ejemplo de un cuadro de texto que esta inscrustado dentro de un datagrid dentro de una fila lo cual lo primero que tendriamos que hacer es buscarlo por su nombre usando findcontrol y ctype juntamente declarandolo como un objeto tal asi despues poder cambiar sus propiedades.

 

ejemplo tenemos dentro de un datagrid1 ya cargado un cuadro de texto llamado textbox1 lo cual queremos modificarle la propiedad .text  a "chan" de el se encuenta en la fila 0 en la columa 1.

lo que hariamos seria.

CType(Me.GridView1.Rows(0).Cells(1).FindControl("textbox1"), TextBox).Text = "chan"

incluso se puede tratar si solo se quiere obtener el valor

dim x1 as new textbox

x1 = Me.GridView1.Rows(1).Cells(1).FindControl("textbox1")

Subir un archivo por ftp en asp.net 2.0

 

creamos la funcion uploadFileUsingFTP lo cual sera usado

uploadfileusingftp("ruta del ftp","direccion completa del archivo ","usuario","password")

 

Public Sub uploadFileUsingFTP(ByVal CompleteFTPPath As String, ByVal CompleteLocalPath As String, Optional ByVal UName As String = "", Optional ByVal PWD As String = "")

'Create a FTP Request Object and Specfiy a Complete Pat

'creando un objeto request ftp especificando la ruta completa del ftp

Dim reqObj As FtpWebRequest = WebRequest.Create(CompleteFTPPath)

llamando el metodo fileupload del objeto que creamos

reqObj.Method = WebRequestMethods.Ftp.UploadFile

'si el ftp requiere usuario y clave se configura

reqObj.Credentials = New NetworkCredential(UName, PWD)

on objeto filestream leera el archivo que se va asubir

Dim streamObj As FileStream = File.OpenRead(CompleteLocalPath)

'se guarda en un buffer

Dim buffer(streamObj.Length) As Byte

ahora se lee el archivo en el buffer

streamObj.Read(buffer, 0, buffer.Length)

se cierra el stream

streamObj.Close()

streamObj = Nothing

se sube un archivo en caso no existe

reqObj.GetRequestStream().Write(buffer, 0, buffer.Length)

reqObj = Nothing

End Sub

enviando un email asp.net 2.0

 

aca esta xD

Dim correo As New System.Net.Mail.MailMessage
        correo.From = New System.Net.Mail.MailAddress("micorreo@correo.com")

        Dim mailx2 As New System.Net.Mail.MailAddress("correo destino")

        correo.To.Add(mailx2)

        correo.Subject = "subjet"
        correo.Body = "cuerpo bla bla "
        correo.IsBodyHtml = true     (si es html =true)
        correo.Priority = System.Net.Mail.MailPriority.High
        Dim smtp As New System.Net.Mail.SmtpClient
        smtp.Host = "host del que envia" smpt
        smtp.Credentials = New System.Net.NetworkCredential("usuariossmpt","clave")
        Try
            smtp.Send(correo)
            Return "enviado"

        Catch ex As Exception
            Return "ERROR: " & ex.Message

        End Try

    End Function

crear un objeta datatable on fly

 

muchas veces necesitamos crear una tabla momentania por ejemplo un carro de comrpas anotar los pedidos y dejarlos momentaniamente cargados en una variable de session para despues guardarla en una db si es aceptada.

la forma de crear un datatable es de la siguiente manera despues termina guardada en un variable de session llamada cart

Dim objDT As System.Data.DataTable
      Dim objDR As System.Data.DataRow
      objDT = New System.Data.DataTable("Cart")
       objDT.Columns.Add("ID", GetType(Integer))
       objDT.Columns("ID").AutoIncrement = True
       objDT.Columns("ID").AutoIncrementSeed = 2
       objDT.Columns.Add("codigo", GetType(String))
       objDT.Columns.Add("urlimagen", GetType(String))
       objDT.Columns.Add("nombre", GetType(String))
       objDT.Columns.Add("precio", GetType(Single))
       objDT.Columns.Add("cantidad", GetType(Single))
       objDT.Columns.Add("subtotal", GetType(Single))
       objDT.Columns.Add("idpro", GetType(Single))
       Session("Cart") = objDT

 

si se fijan el autoincremento lo seteo en autoincrement y despues asigno el seed

saludos.