Rendere draggabile una WebPartChrome custom

One Comment | gen 01, 0001

In questi giorni stavo effettuando alcune prove sulle WebParts di ASPNET, vista la necessità di realizzare un portale "my.msn-like" per un nostro cliente.

Armato del libro "ASP.NET 2.0 WebParts In Action" (e dopo un attenta lettura, visto che partivo praticamente da zero) ho iniziato le mie prove e dopo diversi esperimenti sono arrivato alla realizzazione di una WebPartChrome custom per personalizzare il look&feel delle mie WebParts...ma appena sono entrato in modalità "Design" mi sono accorto di un "piccolo" bug...non funzionava il DRAG&DROP!!

Cercando così tra i vari forum/blog ho trovato il problema : nel libro trascurano un elemento fondamentale, quando si scrive il markup del titolo della WebPart è necessario aggiungere l'ID dello stesso generato con del codice simile a questo:

writer.AddAttribute(HtmlTextWriterAttribute.Id, this.GetWebPartTitleClientID(webPart));

E' quindi fondamentale la chiamata al metodo "GetWebPartTitleclientID". Questo è il link dell'articolo che mi ha permesso di individuare il problema :)

Mastering .NET Enterprise Architecture : Janky...una garanzia!

3 Comments | gen 01, 0001

Eccomi dopo due intensissimi giorni di corso su architetture enterprise del buon Janky (ora finalmente e GIUSTAMENTE MVP :)

Devo dire molto sinceramente che è andato ben oltre le mie aspettative, molto meno codice rispetto al mastering di NHibernate (che ho seguito sempre con lui) ma molta molta "teoria" e possibilità di apprendere molti aspetti interessanti del "mondo architetturale" grazie agli esempi di un vero esperto in materia!! Si è parlato di SOA (e non solo di WCF, anzi!!), di AOP (cosa che mi ha sempre incuriosito ma non ho mai approfondito in maniera decisa e di cui finalmente ho intravisto le potenzialità!!!), di Spring.NET e ovviamente di Domain Model etc etc etc :)

Ora avrò un bel pò da meditare su tutto quello che ho visto e che spero di mettere in pratica il prima possibile (probabilmente la prima vittima sarà Spring.NET, che ho già utilizzato in un progetto come IoC container).....

Alla prossima :)