Posts
163
Comments
179
Trackbacks
5
marzo 2010 Blog Posts
Tips: Nascondere il bordo “punteggiato” che compare su Firefox attorno ai links


Piccolo tip per programmatori web: Firefox aggiunge su alcuni elementi attivi (tipo i link) un bordo tratteggiato di un pixel. Immagino che Firefox lo aggiunga per evidenziare in qualche modo il link attivo ed evidenziare quindi il focus corrente all’interno della pagina.
In ogni caso spesso e volentieri questo bordo è fastidioso e gli utenti (o i clienti) chiedono di rimuoverlo. Per fare questo è sufficiente lavorare di CSS e aggiungere nello stile dei nostri elementi la seguente riga:

   1: .CLASS_NAME, #OBJECT_ID
   2:     outline: none;
   3: }

 

Ovviamente occorre sostituire opportunamente il .CLASS_NAME con il nome della nostra classe o l’#OBJECT_ID con l’ID reale del nostro controllo.

posted @ martedì 30 marzo 2010 10:58 | Feedback (0)
ASP.NET Tip: TextBox readonly e ViewState


Se si setta la proprietà ReadOnly di un TextBox ASP.NET a True, si avrà lo spiacevole effetto collaterale di perdere il viewstate del TextBox durante i postback.
Questo perchè la proprietà ReadOnly viene valutata lato server e, indicando che il controllo è ReadOnly, implicitamente indica che tutte le modifiche lato client saranno ignorate.

Per ovviare a questo problema si può impostare il readonly nella classica maniera impostando reaonly=”readonly” sul TextBox, oppure da codice utilizzando la proprietà attributes:

   1: this.txtTest.Attributes.Add("readonly", "readonly");
posted @ mercoledì 17 marzo 2010 13:42 | Feedback (1)
Timeout costante con System.Net.Mail e SSL


Se avete avuto necessità di inviare email tramite un SMTP con SSL potreste incontrare il problema che ho riscontrato io. In sostanza utilizzando il codice seguente, l’effetto che si ha è quello di un timeout costante in fase di invio:

   1: Dim smtp As New SmtpClient("SERVER", 465)
   2: Dim cred As New System.Net.NetworkCredential("USERNAME", "PASSWORD")
   3: smtp.UseDefaultCredentials = False
   4: smtp.Credentials = cred
   5: smtp.EnableSsl = True
   6:  ...
   7:  ...
   8: smtp.Send(message)

Il potreste è d’obbligo dato che dipende dall’SMTP che state utilizzando. Il problema è spiegato bene in questo post. In sostanza il namespace System.Net.Mail supporta solo l’Explicit SSL, che nella pratica implica che la connessione inizia sulla porta 25 come connessione in chiaro e poi switcha sulla connessione sicura.
Se l’SMTP che si sta utilizzando non ha la porta 25 aperta (come è facilmente testabile da telnet), si avrà sempre un errore di timeout.

La soluzione sarebbe quella di switchare all’Implicit SSL che wrappa l’intera connessione in modo sicuro, ma il namespace System.Net.Mail non lo supporta (…..). Come fare? Evitando di scegliere componenti di terze parti, si può tornare al vecchio namespace System.Web.Mail che supportava entrambe le modalità. Il frammento di codice seguente è equivalente al precedente ma funziona in ogni situazione.

   1: Dim mail As New System.Web.Mail.MailMessage
   2: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "SERVER")
   3: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465)
   4: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", True)
   5: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "USERNAME")
   6: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "PASSWORD")
   7: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 2)
   8: mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1)
   9: ...
  10: ...
  11: Web.Mail.SmtpMail.Send(mail)
posted @ martedì 2 marzo 2010 10:27 | Feedback (2)
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.

La mia foto

Logo MCAD
Logo MCTS