E' possibile impostare nel web.config dei namespaces predefiniti che saranno visibili in tutte le pagine.

<?xml version="1.0"?>
<configuration>
 <system.web>
    <pages buffer="true" maintainScrollPositionOnPostBack="true">
      <namespaces>
        <add namespace ="System.myWeb" />
        <add namespace="System.Text"/>
      </namespaces>
    </pages> 
 </system.web>
</configuration>



Come è noto aruba ha grossi problemi con il database sql server dato che le credenziali messe a disposizione per connettersi al database non sono database owner .e questo è un discreto problema visto che nei providers integrati di .net c'è cablato a livello di codice il riferimento all'utente dbo.

http://www.ollie10.it/post/Aruba-e-Membership-Provider-Il-Metodo-Corretto-Per-Farlo-Funzionare.aspx



Data una classe Employee

   1: public class Employee
   2: {
   3:     public int Id {get; set;}
   4:  
   5:     public string Name {get; set;}
   6: }

utilizzando Linq è possibile randomizzare facilmente una lista di oggetti Employee .

   1: ist<Employee> list = new List<Employee>();
   2:  
   3: list.Add(new Employee { Id = 1, Name = "Davolio Nancy" });
   4: list.Add(new Employee { Id = 2, Name = "Fuller Andrew" });
   5: list.Add(new Employee { Id = 3, Name = "Leverling Janet" });
   6: list.Add(new Employee { Id = 4, Name = "Peacock Margaret" });
   7: list.Add(new Employee { Id = 5, Name = "Buchanan Steven" });
   8: list.Add(new Employee { Id = 6, Name = "Suyama Michael" });
   9: list.Add(new Employee { Id = 7, Name = "King Robert" });
  10: list.Add(new Employee { Id = 8, Name = "Callahan Laura" });
  11: list.Add(new Employee { Id = 9, Name = "Dodsworth Anne" });
  12:  
  13: list = list.OrderBy(x => Guid.NewGuid()).ToList();


Codice per recuperare un controllo contenuto in un CreateUserWizard :
   1: Label lb = CreateUserWizard1.CompleteStep.ContentTemplateContainer.FindControl("lblUsername") as Label; 
oppure nel caso di un TemplateWizardStep
   1: TemplatedWizardStep step = (TemplatedWizardStep) CreateUserWizard1.WizardSteps[1];
   2: Label lb = (Label)step.ContentTemplateContainer.FindControl("label1");
oppure più semplicemente
   1: Label lb = (Label)MyStep.ContentTemplateContainer.FindControl("label1");
dove MyStep è un TemplateWizardStep
   1: <asp:TemplatedWizardStep ID="MyStep" runat="server" Title="Name of step">
   2:     <ContentTemplate>
   3: ...
   4: ...


Dal blog di Rob Caron su MSDN Blogs :

Short but sweet, Visual Studio 2010 and .NET Framework 4 will launch on Monday, 12 April 2010.



Utilizzando il browser Google Crome o Safari è presente un problema nella visualizzazione del controllo Menu di Asp.net.

Per risolvere il problema basta creare un file di tipo browser file in App_Browsers


Inserendo questo codice

<browsers>
  <browser refID="Safari1Plus">
    <controlAdapters>
      <adapter controlType="System.Web.UI.WebControls.Menu"
               adapterType="" />
    </controlAdapters>
  </browser>
</browsers>

oppure alternativamente, inserendo questo codice nell'evento PreInit della pagina

 

protected void Page_PreInit(object sender, EventArgs e)
         {
             // This is necessary because Safari and Chrome browsers don't display the Menu control correctly.
             // All webpages displaying an ASP.NET menu control must inherit this class.
             if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
                 Page.ClientTarget = "uplevel";
         }



Utilissimo articolo che mostra come aggiungere alla nostra web application un pulsante per esportare dati in formato xls da un database, un web service o altro.

L'articolo mostra differenti approcci per risolvere il problema:

  1. Generare un file CSV
  2. Generate un file XML
  3. Generare da un controllo GridView
  4. Generare un file Excel usando Open XML SDK 2.0

Qui l'articolo completo

 



Interessante articolo su come ovviare al problema della stringa di connessione al db per progetti che utilizzano LINQ to SQL.

Un uso non corretto della stringa, soprattutto nel caso che il dbml sia integrato in una dll, genera questo messaggio :

An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

La soluzione è disattivare la creazione automatica della stringa di connessione all'atto dell'aggiunta del file dbml, rimuovendola manualmente e impostando “Application Settings” a false.
In questo modo otterremo questo messaggio :

Error:
‘PageDataContext’ does not contain a constructor that takes ‘0′ arguments

A questo punto creata la nostra stringa di connessione così

public static string conn = ConfigurationManager.ConnectionStrings["myConnectionString"].ToString();

facendolo puntare allla connessione corrente specificata nel web.config corrente, e passandolo ad ogni inizializzazione dell'oggetto data context così:

PageDataContext db = new PageDataContext(conn);

A questo punto tutto dovrebbe funzionare...Wink

 

Maggiori informazioni qui