Controlar IsPostBack con JavaScript

Filed Under (.Net, JavaScript) by admin on 02-11-2010

Tagged Under : , , ,

Es posible que en ocasiones con algun script de carga con ajax y habiéndolo mezclado con los “maravillosos” controles de .Net haga por algún sitio un postback, con lo que la carga inicial se vuelva a realizar…

pues bien para este caso y otros casos que sea necesario controlar el PostBack con Javascript, os dejo como controlarlo:

 

var prm = Sys.WebForms.PageRequestManager.getInstance();
if(!prm.get_isInAsyncPostBack()) {
// llamada
}

Primera letra de cada palabra en mayúsculas con C#.NET

Filed Under (.Net) by admin on 21-10-2010

Tagged Under : ,

Es muy fácil, solo con importar la librería:

System.Globalization

Y después ya se puede utilizar la función:

CultureInfo.CurrentCulture.TextInfo.ToTitleCase(texto)

Personalizar DataMember de DataContract

Filed Under (.Net) by admin on 22-06-2010

Tagged Under : ,

Os pongo un ejemplo, ya que en ocasiones lo que se quieres es cambiar el nombre por ejemplo de la columna que queremos formar a partir de los datos enviados. Pues bien es tan facil como “reescribir el atributo Name”

[DataContract(Name="status")]

public class StatusData

{

    private string _name;

    private string _errorDescription = null;
    [DataMember(Name = "name1", Order = 0, EmitDefaultValue=false)]

    public string Name

    {

        get { return _name; }

        set { _name = value; }

    }
    [DataMember(Name = "error", Order = 1, EmitDefaultValue=false)]

    public string Description

    {

        get{ return _errorDescription ;}

        set {_errorDescription =value ;}

    }

...

}

Problemas con las llamadas AJAX.NET en JSON: {“d”:{“__type”:”

Filed Under (.Net) by admin on 09-06-2010

Tagged Under : , ,

Parece ser que por defecto cuando incluimos una llamada AJAX.NET con un servicio y la serializamos en formato JSON, nos devuelve unos datos que no queremos: {“d”:{“__type”:”

Esto es porque puede haber un desbarajuste entre los tipos de datos de JavaScript y .NET y de esta forma se cura en salud….

Estos datos nos pueden producir problemas por ejemplo si tenemos una estructura de tabla (en mi caso un dataTable con YUI y el Datasource viene con un esquema bien definido. )

Pues bien esto se soluciona haciendo un pequeño ajuste en el webconfig:

  1. Configuramos el behaviour como webHttp y no como enableWebScript (sería como por defecto con {“d”:{“__type”:”)
  2. Y registramos el servicio:

 

 

 

 

Como llamar a métodos del code beside del ASPX con Js

Filed Under (.Net) by admin on 12-05-2010

Tagged Under : , , ,

1- creamos el metodo Js como normalmente lo hacemos. Ej: dimeHora()
2- lo asignamos a un evento de un boton (o de lo que sea) como normalmente hacemos … onclick=”dimeHora”
3- definimos en el code beside un metodo con y estatico (Shared)

Public Shared Function DameHora() As String
Return DateTime.Now.ToLongTimeString()
End Function

4- Para utilizarlo debemos activar la propiedad EnablePageMethods = True del ScriptManager(manejador de js de ASP.NET). Normalmente este se define en la MasterPage, pero sino se puede hacer un ScriptManager.GetCurrert()
5- Después para llamarlo solo tenemos que utilizar en el js el PageMethods:
PageMethods.DameHora()

Como quedaría el js:
function dimeHora()
{
PageMethods.DameHora(finLlamada, gestorDeErrores)
}
// finLlamada y gestorDeErrores manejan los resultados si ha ido bien o mal, como ya hacemos


Y porque os envio esto?
- No hace falta crear un servicio
- Reduce la carga de servidor, mejora el UpdatePanel que envía toda la información en los autoposback asíncronos
- no hace autoposback
- trabajamos con datos devueltos del método que estamos acostumbrados a trabajar en js (hacer eval)

Error en el inicio de instalación VS2008

Filed Under (.Net) by admin on 06-05-2010

Tagged Under : , ,

Si al iniciar la instalación de Visual Studio 2008 te produce un error y tienes instalado Microsoft Office 2007…
tienes la solución aqui¡¡ Se trata del Infopath que trae dicha versión, para desistalarlo solo tienes que ejecutar esto:

msiexec /x {30120000-0044-0C0A-0000-0000000FF1CE}

ASP.NET AJAX UpdatePanel ScriptManager – Dirigir el Foco hacia un Control

Filed Under (.Net) by admin on 27-04-2010

Tagged Under : , , , ,

Tradicionalmente cuando queremos dirigir el foco hacia un control hacemos esto:

Control.focus();

PERO si trabajamos con ASP.NET AJAX con un ScriptManager y un UpdatePanel al hacer postback asincrono el UpdatePanel , pierde el foco, para que esto no ocurra insertamos esta linea de codigo para lograr tener el foco donde queramos.

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);

scriptManager.SetFocus(CONTROL);

CONTROL = Textbox(Caja de Texto)

Espero los haya ayudado , suerte con sus desarrollos.

PS: el metodo.SetFocus(CONTROL) , tiene como paramentro cualquier tipo de CONTROL ASP.NET asi que podemos usar cualquier CONTROL

SOA: Arquitectura Orientada a Servicios

Filed Under (.Net) by admin on 07-04-2010

Tagged Under : , ,

Os dejo un enlace interesante a un whitepaper de Microsoft donde se hace una introducción a la arquitectura SOA, con un ejemplo de guía y unos consejos interesantes.

http://download.microsoft.com/download/c/2/c/c2ce8a3a-b4df-4a12-ba18-7e050aef3364/070717-Real_World_SOA.pdf

“Saltarse” las Constraints en SQLServer

Filed Under (.Net, SQLServer) by admin on 01-12-2009

Tagged Under : , , ,

Las constraints de una tabla de SQL Server se pueden desactivar temporalmente con la opción NOCHECK CONSTRAINT ALL de ALTER TABLE.
El comando quedaría así:
ALTER TABLE tabla NOCHECK CONSTRAINT ALL;
Con esto se desactivan y puedes hacer la carga de datos sin que te molesten las FK

Después, para volver a activarlas sólo tienes que hacer este otro ALTER TABLE:
ALTER TABLE tabla WITH CHECK CHECK CONSTRAINT ALL;
Reactiva las constraints chequeando que los datos de las tablas las cumplan

Si quieres volver a habilitarlas sin validar los datos que hayas cargado, aunque no es muy recomendable también se puede hacer:
ALTER TABLE tabla CHECK CONSTRAINT ALL;

Entrar en modo administrador en SQL Server 2005

Filed Under (.Net, SQLServer) by admin on 09-11-2009

Tagged Under : , , ,

Casi todos tenemos el SQL Server con la licencia de 2 usuarios y muchas veces algun compañero se le olvida cerrar la sesión mientras se va ha almorzar… pues bien… entra por fuerza bruta¡¡

ejecuta: mstsc /admin

y zas¡¡ dentro en modo administrador… despues puedes entrar en las tareas del servidor y ver quien esta conectado para cerrar las sesiones que veas.