Archivio

Posts Tagged ‘c#’

Asp.Net: Problemi con FckEditor all’interno di un UpdatePanel

Qualche giorno fa mi sono imbattuto in un problema che sembrava insormontabile utilizzando l’editor di testo web FckEditor all’interno di un UpdatePanel.
In pratica il problema consisteva nel fatto che dopo il postback non riuscivo più a recuperare il valore della textarea dell’editor stesso.
Googolando per una buona mezzoretta, sono riuscito a trovare questo post  dove Dave Perslow propone due soluzioni per far tornare a funzionare l’editor, la prima consiste nel triggerare il postback asincrono in modo tale che sull’evento onClick, del bottone di submit, una funzione JavaScript  aggiorni un campo input nascosto, la seconda soluzione è quella di inserire il codice sotto elencato nell’evento OnSubmit della pagina.
Questa soluzione funziona sia in modo asincrono che sincrono delle chamate di postback
this.Page.ClientScript.RegisterOnSubmitStatement(
    this.GetType(),
    "AjaxHack",
    "for ( var i = 0; i < parent.frames.length; ++i ) if ( parent.frames[i].FCK ) parent.frames[i].FCK.UpdateLinkedField();"
    );
Categorie:Asp.Net Tag: , ,

Visual Studio 2010 Beta 1 e .NET 4.0

Da oggi la nuova versione di Visual Studio 2010 Beta 1 e .NET Framework 4.0 è disponibile per il download aperto a tutti e non solo ai sottoscrittori MSDN

Ecco i link a disposizione:

Per quanto riguarda le nuove funzionalità dell’ambiente di sviluppo Microsoft e del nuovo .NET Framework 4.0 le potete trovare qui

Operatore ternario in un GridView Eval Binding

Se vi siete mai chiesti come poter fare delle operazioni sugli eval dei databind nei vari Gridview, Repeater etc.. la risposta è si può fare praticamente tutto!

Qui di seguito vi inserisco un esempio su come fare un operazione ternaria sul binding senza dover a tutti i costi passare da un metodo “OnRowDataBound”.

<asp:TemplateField HeaderText="Nation">
   <ItemTemplate>
      <asp:Label ID="lblNation" runat="server" Text='<%# String.Compare((string)Eval("Nation"),"I",false)==0?"Italy":"Not Italy"%>'/>
   </ItemTemplate>
</asp:TemplateField>

Spero che questo piccolo pezzo di codice vi possa risultare utile come lo è stato per me!

Categorie:Asp.Net, C# Tag: , ,

Raggruppare colonne con GridView

GridView è un WebControl che considero molto potente nello sviluppo di applicazioni web in asp.net, una delle poche pecche è l’impossibilità di  raggruppare dati di una o più colonne, facendo una veloce ricerca su google ho trovato questi file di estensione della Classe GridView e credo che possano risultare utili a molti.

Funzionalità:

  • Raggruppamento record
  • Raggruppamento multiplo sui record
  • Sommatorie
  • Medie

Documentazione

Esempi OnLine

Download Codice

Categorie:Asp.Net Tag: , ,

Trovare un Oggetto in Generic List utilizzando List.Find()

Come recuperare un oggetto specifico in una lista generica (List<T>)  senza dover utilizzare un ammasso di foreach()?

Semplice utilizzando il metodo List.Find()

Di seguito un esempio veloce:

Oggetto Ticket

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Ticket
{
   private int _idTicket;
   private string _title;
 
   public int IdTicket
   {
      get { return _idTicket; }
      set { _idTicket = value; }
   }
   public string Title
   {
      get { return _title; }
      set { _title = value; }
   }
}

Ed ora l’utilizzo del metodo Find():

17
18
19
20
21
22
23
24
25
26
27
public void CreateAndSearchTicketList()
{
   //creo e riempio la collezione
   List myTicketList = new List();
   myTicketList.Add(new Ticket(1, "Concerto Rock"));
   myTicketList.Add(new Ticket(2, "Finale Champions Leauge"));
   myTicketList.Add(new Ticket(3, "Museo Louvre"));
 
   //trovo il biglietto per il Museo del Louvre
   Ticket myTicket = myTicketList.Find(delegate(Ticket t) {return t.Title == "Museo Louvre"; });
}

Questo è il metodo più più veloce per cercare un oggetto in una lista, da notare che il metodo Find() trova il primo oggetto nella lista che soddisfa la condizione, per trovare tutti gli oggetti presenti che soddisfano la condizione utilizzare il metodo FindAll().

Questo metodo perfoma una ricerca lineare, pertanto, è un operazione O(n), dove n sta per il numero di oggetti nella lista.

Riferimento alla documentazione ufficiale: http://msdn.microsoft.com/en-us/library/x0b5b5bc(VS.80).aspx

Categorie:C# Tag: ,