Archivo de la etiqueta: csharp

Threads con parametros

En general cuando se trabaja con Threads se utiliza el delegado ThreadStart, que no toma ningun, parametro. Para pasar parametros al Thread la firma de la funcion debe recibir un solo parametro de tipo objet y retornar nada.
Ejemplo:

static void ThreadConParametro(object o){
 
string info=(string) o;
Console.Write(info);
Thread.Sleep(10);
}
 
//donde se la quiera invocar
ParameterizedThreadStart  operacion=new ParameterizedThreadStart(ThreadConParametro);
Thread hilo=new Thread( operacion);
hilo.Start("parametro");

Listo!

Quitar espacios de una cadena

Como quitar los espacios en blanco de una cadena. Articulo original

public static string RemoveWhitespace(this string str)
{
    try
    {
        return new Regex(@"\s*").Replace(str, string.Empty);
    }
    catch (Exception)
    {
        return str;
    }
}

Hacer referencia a un control dentro de un formview

Para usar un control dentro de un formView es necesario encontrarlo y convertirlo desde el tipo control al tipo que es realmente el control. Ej:

TextBox ex=(TextBox )frmData.FindControl("TextBox1");
ex.text= DateTime.ToString();

Recuperar el id del ultimo registro insertado

Algo muy comun es querer saber el id del ultimo registro insertado, aca posteo un ejemplo de como hacer eso para una base de datos SQL Server en c#:

SqlConnection conn= new SqlConnection(
ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString
);
string insertStr =
"INSERT INTO [tabla]([texto],[fecha]) VALUES(@texto,getDate())
;SELECT  Scope_Identity();";
SqlCommand cmd=new SqlCommand(insertStr,conn);
cmd.Parameters.Add("@texto", SqlDbType.NVarChar).Value="El texto va aca";
cmd.Connection.Open();
string ret=cmd.ExecuteScalar().ToString();
cmd.Connection.Close();

La parte clave esta en la sentencia Select Scope_Identity() del sql.

Desactivar un Boton mientras se hace el submit

Para evitar que se envien varias veces la misma información (suele pasar cuando hay un proceso lento en el lado del servidor y un cliente impaciente), es útil desactivar el botón que provoca el postback.

 	Button1.Attributes.Add("onclick", "javascript:document.getElementById('"
 
 	+ Button1.ClientID + "').disabled=true;" +
 
 	this.GetPostBackEventReference(Button1));

Si es que se llama Button1 el boton que se quiere desactivar. Colocar esa linea dentro del onLoad de la pagina.

Funciones String – Left, Right and Mid en c#

Emular eso en .net:

public class StringManager
{
      public static string Left(string text, int length)
      {
return text.Substring(0,length);
      }
 
      public static string Right(string text, int length)
      {
return text.Substring(text.Length -length, length);
      }
 
 
      public static string Mid(string text, int start, int end)
      {
return text.Substring(start, end);
      }
 
      public static string Mid(string text, int start)
      {
return text.Substring(start, text.Length - start);
      }
}

http://geekswithblogs.net/congsuco/archive/2005/07/07/45607.aspx