Nikon D60

by Andrea 19 December 2008 14:30

Era da un bel pò di tempo che ci pensavo, e spinto anche da un'offerta del MediaWorld mi sono deciso a farmi un bel regalo di Natale. Ho acquistato una Nikon D60 Double Xoom Kit.

Nikon D60 Double Xoom Kit E' la prima reflex che acquisto e quindi altre alle funzionalità ho valutato molto anche il fattore economico, anche perchè ero indeciso tra la D60 e la D90 che hanno una bella differenza di prezzo.

Ho preso subito confidenza con il nuovo giocattolo, e tra manuale d'uso e guide varie ho iniziato a fare un bel pò di foto, che mi rendono prorpio soddisfatto dell'aquisto.
Ora non mi rimane che prepararmi un fotoblog per iniziare a postare i scatti migliori...e mi sa che per questo approffiterò delle vacanze natalizie.

Technorati Tags: ,

Tags:

Tempo libero

Dynamic Data - Nascondere colonne in determinate action

by Andrea 19 December 2008 12:16

Nel visualizzare i dati nelle nostre applicazioni, spesso si ha la necessità di visualizzare un numero di informazioni differenti nel caso fossimo in una lista, o in un dettaglio o in edit di un nostro oggetto.

Lavorando con i Dynamic Data, di default la cosa non è possibile, ma con un pò di codice la cosa è fattibile.

Stephen Naughton ha trovato una soluzione davvero brillante, e cioè implementando l'interfaccia IAutoFieldGenrators (che viene utilizzata dalla GridView, e DetailsView per creare in automatico le colonne e/o fields), e creando un attributo da utilizzare nelle classi dei Metadati dove verranno specificate le action per le diverse property.

Il post è il seguente: Dynamic Data - Hiding Columns in selected PageTemplates

Tags: , , ,

ASP .NET

Lo spam cartaceo

by andrea 19 December 2008 10:14

Spam cartaceo Ogni sera, quando rientro a casa dopo una giornata di lavoro, verifico nella mia cassetta postale la presenza di qualche bolletta da pagare (oppure dell'ultimo numero di MSDN Magazine), ma ogni santa volta mi ritrovo con  parecchi volantini pubblicitari (supermercati, profumerie, ...), che ormai hanno raggiunto la dimensione di vere e proprie riviste. Per non contare delle volte che lo stesso volantino viene inserito in più copie, e magari per giorni consecutivi.

Possibile che nessuno dica niente?!

Alla fine, questi volantini fanno tutti la stessa fine...dritti dentro il cestino...ma la cosa che mi da fastidio è che questi sono il 90% della carta che butto.

Ma questo non è spam?
Secondo me, questo è vero e proprio spam cartaceo!!

Technorati Tags:

Tags:

Generale | Casa dolce casa

Dynamic Data - recuperare la action corrente

by Andrea 18 December 2008 15:42

Se avete la necessità di recuperare la action corrente all'interno di un FieldTemplate (o di una pagina dei Dynamic Data), il codice che potete utilizzare è il seguente:

   1: RequestContext requestContext = DynamicDataRouteHandler.GetRequestContext(HttpContext.Current);
   2: string action = requestContext.RouteData.GetRequiredString("action");
   3:  
   4: if (string.Compare(action, "Details", true) == 0)
   5: {
   6:     ...
   7: }
   8: else
   9: {
  10:     ...
  11: }

Una delle motivazioni in cui può essere utile recuperare tale informazione è nel caso di un FileldTemplate custom nella modalità di sola lettura dei dati, che viene utilizzato sia per la lista che per il dettaglio, e quindi può esserci la necessità di modificare la visualizzazione a seconda della action.

Nel mio caso, ho inserito due panel nel FieldTemplate e con il codice qui riportato ne modifico la visibilità (ovviamente eseguendo il databind dei soli interessati). Un panel contiene una Label con un contatore dei dati (utilizzato nella lista), mentre il secondo panel contiene una ListView che visualizza l'elenco dei figli (utilizzato nel Dettaglio). Questo per visualizzare informazioni recuperate da una relazione molti a molti.

Tags: , ,

ASP .NET

Akismet Extension per BlogEngine.net

by Andrea 17 December 2008 10:21

BlogEngine ha un captcha invisibile che nel 99% dei casi ha sempre funzionato perfettamente.
In questi giorni però qualche commento di spam è riuscito a passare, e quindi mi sono messo alla ricerca (se esisteva) un'extension che verificasse i commenti utilizzando le Akismet.

L'extension esiste, e la potete trovare qui Akismet Extension Updated for BlogEngine.net 1.4 sviluppata da Justin Etheredge (che ringrazio davvero molto).

Comunque appena avrò un pò di tempo inizierò a sviluppare una nuova versione, aggiungendo l'invio per email dei commenti di spam (cosa che manca all'attuale extension, che annulla solamente l'inserimento).

Technorati Tags: ,

Tags: ,

ASP .NET | Generale | Sito

Dynamic Data - ScaffoldTable a false e CustomPages

by Andrea 16 December 2008 18:17

Può sembrare che il post parli di due argomenti distinti, ma non è così. Infatti il parametro ScaffoldTable e le CustomPage hanno una cosa in comune, e riguarda la visibilità delle tabelle.

Lavorando con i Dynamic Data, avevo la necessità di non visualizzare una mia classe/tabella. Per fare questo, la cosa è veramente semplice:

  • Impostare nel Global.asax ScaffoldAllTables = false, in modo essere noi a specificare quali tabelle visualizzare e quali no. (Per default lavoro già con questo parametro impostato a false, perchè le tabelle che di solito visualizzo con i Dynamic Data sono poche, rispetto quelle presenti nel database).
  • Creare una partial class della classe del modello di Entity Framework (o di Linq to SQL) e impostare l'attributo ScaffoldTable a false per nascondere, oppure a true per farle visualizzare.
    [ScaffoldTable(false)]
    public partial class Users
    {
    }

La cosa divertente (si fa per dire), è che sebbene abbia impostato tale attributo a false, la tabella era comunque visibile.
Ho fatto diverse prove, e poi ho ragionato nel cosa differisse questa classe rispetto a quelle non visibili, e l'unica risposta era...le CustomPage.

Se si imposta nella classe l'attributo ScaffoldTable con valore false, se esistono delle Custom page che le appartengono, la classe sarà (lo stesso) visibile nel nostro sito creato con i Dynamic Data.

Infatti, rinominando la cartella contenente le custom page da Users a _Users (oppure cancellando la cartella) la tabella si è correttamente eliminata dalla visualizzazione.
Non sono d'accordo su questo comportamento, e mi sarei aspettato che l'attributo avesse la priorità, ma c'è anche da dire, che se una persona crea delle custom page è perchè ha l'intezione di vidualizzare quei dati. Ecco quindi dei pro che dei contro per questa scelta.

Il lato negativo di questo aspetto è che uno è costrettto a eliminare eventuali CustomPage che avevo già creato (e customizzato), e che dovrò ripristinare appena quella sezione (quella tabella) dovrà essere visibile all'utente.

Update: Ho inserito la segnalazione su connect per capire se il comportamento è un by design oppure un bug. Ecco il link
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=388504

Tags: , ,

ASP .NET