Il 12-04-2010 è il giorno del lancio di Visual Studio 2010 e .NET Framework 4

14. gennaio 2010

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.

asp.net ,

Asp.net : Problemi di visualizzazione del menu con Chrome o Safari

10. dicembre 2009

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";
         }

asp.net, Tips , , ,

Asp.net : Esportare dati verso Excel

12. ottobre 2009

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

 

asp.net, Tips , , , , ,

LINQ to SQL Connection Strings

22. agosto 2009

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

asp.net, Tips , , ,

Asp.net : LINQ to SQL compiler error CS1519: Invalid token 'void' in class, struct, or interface member declaration

15. giugno 2009

A mia futura memoria e per chi ne avesse bisogno.
Aggiungendo ad un progetto esistente una classe LINQ to SQL si ottiene questo messaggio di errore :

Invalid token 'void' in class, struct, or interface member declaration

oppure

Token non valido 'void' nella dichiarazione del membro della classe, della struttura o dell'interfaccia.


su queste linee di codice:


#region Extensibility Method Definitions
  partial void OnCreated();
  partial void InsertProfileExtended(ProfileExtended instance);
  partial void UpdateProfileExtended(ProfileExtended instance);
  partial void DeleteProfileExtended(ProfileExtended instance);
#endregion


Questa la soluzione per risolvere il problema. Basta aggiungere il codice seguente al web.config


<class="tag">system.codedom>
<class="tag">compilers>
<class="tag">compilerclass="attr"> language=class="attrv">"c#;cs;csharp"class="attr"> extension=class="attrv">".cs"class="attr"> warningLevel=class="attrv">"4"class="attr"> type=class="attrv">"Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<class="tag">providerOptionclass="attr"> name=class="attrv">"CompilerVersion"class="attr"> value=class="attrv">"v3.5"/>
<class="tag">providerOptionclass="attr"> name=class="attrv">"WarnAsError"class="attr"> value=class="attrv">"false"/>
</class="tag">compiler>
<class="tag">compilerclass="attr"> language=class="attrv">"vb;vbs;visualbasic;vbscript"class="attr"> extension=class="attrv">".vb"class="attr"> warningLevel=class="attrv">"4"class="attr"> type=class="attrv">"Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<class="tag">providerOptionclass="attr"> name=class="attrv">"CompilerVersion"class="attr"> value=class="attrv">"v3.5"/>
<class="tag">providerOptionclass="attr"> name=class="attrv">"OptionInfer"class="attr"> value=class="attrv">"true"/>
<class="tag">providerOptionclass="attr"> name=class="attrv">"WarnAsError"class="attr"> value=class="attrv">"false"/>
</class="tag">compiler>
</class="tag">compilers>
</class="tag">system.codedom>

asp.net, Tips , , ,

Problema Asp.net LoginStatus e UrlRewriting : la soluzione

27. aprile 2009

Problemi con i controlli di accesso di asp.net (es. LoginStatus ) in combinazione con l'UrlRewriting ?

Ecco la soluzione :

protected override void OnLoad(EventArgs e)
{
// Set Logout Action and Url
  this.LoginStatus1.LogoutPageUrl = Context.Request.Url.AbsolutePath;
  this.LoginStatus1.LogoutAction = LogoutAction.Redirect;

  // If User not authenticated we change LoginStatus PostBackUrl manually
  if (!Page.User.Identity.IsAuthenticated)
  {
   String loginUrl = FormsAuthentication.LoginUrl + "?ReturnUrl=" + Context.Request.Url.AbsolutePath;
   foreach (Control c in this.LoginStatus1.Controls)
   {
    if (c is ImageButton)
    {
     ((ImageButton)c).PostBackUrl = loginUrl;
    }
    if (c is LinkButton)
    {
     ((LinkButton)c).PostBackUrl = loginUrl;
    }
   }
  }
  base.OnLoad(e);
}

 

fonte

asp.net, Tips , , ,

Asp.net : Come nascondere gli annunci id Adsense in fase di testing

18. marzo 2009

Visualizzare gli annunci di AdSense mentre si testa il proprio sito aumenta il numero di impressions e il rischio di cliccarci sopra accidentamentalmente, cosa che Google VIETA in maniera categorica, pena il ban dal servizio.

Questo articolo mostra come essere sicuri di non visualizzare gli annunci durante la fase di testing in locale.

L'idea è:

    1. Inserire il codice Adsense dentro un controllo Panel
    2. Inserire un set di opzioni nel web.config per gestire la visualizzazione del pannello.
    3. Visualizzare/Nascondere il pannello utilizzando le chiavi nel web.config

    1. Inserire il codice Adsense dentro un controllo Panel

     

    <asp:Panel ID="pnlGoogleAd" runat="server" Visible="True" >
    
        <div>
    
            <script type="text/javascript"><!--
    
            google_ad_client = "pub-xxxx";
    
            google_ad_width = 160;
    
            google_ad_height = 600;
    
            google_ad_format = "160x600_as";
    
            google_ad_type = "text_image";
    
            google_ad_channel = "xxx";
    
            google_color_border = "336699";
    
            google_color_bg = "FFFFFF";
    
            google_color_link = "0000FF";
    
            google_color_text = "000000";
    
            google_color_url = "008000";
    
            //-->
    
            </script>
    
            <script type="text/javascript"
    
              src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    
            </script>   
    
        </div>
    
    </asp:Panel> 

    2. Inserire un set di opzioni nel web.config per gestire la visualizzazione del pannello.

    <appSettings> 
    
      <add key="showAds" value="True"/> 
    
      <add key="noAdsForAddress" value="89.xx.x.123"/> 
    
    </appSettings>

    Queste due opzioni permettono di :

    1. Disabilitare completamente la visualizzazione degli ads (showAds)
    2. Disabilitare la visualizzazione per uno specifico indirizzo IP

    3. Visualizzare/Nascondere il pannello utilizzando le chiavi nel web.config

    Impostare la visibilità del pannello (pnlGoogleAd) in base ad un metodo statico denominato ShowAds (questo risiede in una classe AdManager - si può mettere ovunque si desidera). Questa linea di codice può essere utilizzata ovunque è presente un pannello contenente un insieme di annunci Google.

    pnlGoogleAd.Visible = AdManager.ShowAds(Request.UserHostAddress); 

    Con il metodo ShowAds possiamo verificare la presenza di tre situazioni in cui non si desidera visualizzare gli annunci:

    • Se è una richiesta da localhost,
    • Se non vogliamo mostrare gli annunci a tutti (per qualsiasi motivo)
    • Se non vogliamo che la visualizzazione degli annunci per uno specifico indirizzo IP

    /// <summary> 
    
    /// Decide quando visualizzare gli ads. 
    
    /// </summary> 
    
    /// <param name="currentAddress"></param> 
    
    /// <returns></returns> 
    
    public static bool ShowAds(string currentAddress) 
    
    { 
    
        // Non è una richiesta localhost 
    
        // Gli ads non devono essere visualizzati per nessun indirizzo 
    
        // E' un indirizzo IP per il quale gli ads non debbono essere visualizzati 
    
        if ((currentAddress == "127.0.0.1") || 
    
            (ConfigurationManager.AppSettings["showAds"].ToString() == "False") || 
    
            (ConfigurationManager.AppSettings["noAdsForAddress"].ToString() == currentAddress)) 
    
            return false; 
    
        // Can show Ads 
    
        return true; 
    
    } 
    

    Questo è tutto Wink

    Fonte :  www.infinitezest.com

    asp.net, Tips , , ,

    FCKEditor Internal Server Error (500) : la soluzione

    24. gennaio 2009

    Riporto a mia futura memoria e per chi ne avesse bisogno, la soluzione al messaggio di errore che si ottiene quando si tenta di selezionare o caricare un'immagine utilizzando FCKEditor utilizzando "aspx" come connectors.

    L'errore che si ottiene è  :  XML request error : Internal Server Error (500)

    L'errore si ottiene nel caso vengano utilizzati i temi di ASP.NET 2.0.
    SOLUZIONE : bisogna modificare la pagina "FCKeditor\editor\filemanager\upload\aspx\upload.aspx" inserendo un tema vuoto 

    <%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" Theme="" %>
     
    

    Altre informazioni su http://docs.fckeditor.net/

    asp.net , , ,