• Super User

    [ASP.NET] Sfondo DIV casuale

    Ciao a tutti, vorrei fare in modo che in un div nelle pagine del mio sito lo sfondo cambi in maniera casuale, cioè venga scelto casualmente tra un insime di n sfondi. Ho fatto una cosa del tipo

    Random random = new Random(50);
    switch(random.Next(0, 3))
    {
    case 0:
    Response.Redirect(sfondo1);
    break;
    case 1:
    Response.Redirect(sfondo1);
    break;
    }

    e messo questo in un file aspx, che viene richiamato nel css. Il mio problema è che, nonostante abbia aggiunto

    Response.Cache.SetCacheability(HttpCacheability.NoCache);

    per disabilitare il caching, una volta che viene scelto uno sfondo questo non cambia. So che è possibile fare una cosa del genere anche in js, ma preferirei farlo così. Avete idea del perchè non mi funziona?


  • Super User

    Nessuno ha qualche idea??


  • User

    Ti propongo questa soluzione (in asp .net)
    codice HTML:
    [html]
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>Test sfondo div variabile</title>
    <meta http-equiv="REFRESH" content="5; url=default.aspx">
    </head>
    <body>
    <div runat="server" id="MY_DIV">
    </div>
    </body>
    </html>
    [/html]

    questo è il codice c# (adattabile anche in VB)

    
    public partial class _Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    Random MY_RANDOM_NUMBER = new Random();
    int THE_NUMBER = MY_RANDOM_NUMBER.Next(3) + 1;
    switch (THE_NUMBER)
    {
    case 1:
    MY_DIV.Style.Value = "width:100%; background-color:Red;";
    break;
    case 2:
    MY_DIV.Style.Value = "width:100%; background-color:Blue;";
    break;
    case 3:
    MY_DIV.Style.Value = "width:100%; background-color:Green;";
    break;
    case 4:
    MY_DIV.Style.Value = "width:100%; background-color:Yellow;";
    break;
    default:
    break;
    }
     
    }
    }
    
    

    Cosa ho fatto:
    Ho reso il controllo "DIV" utilizzabile lato server poi in base ad un numero casuale (da 1 a 4) ho cambiato lo stile della "DIV".
    Il codice HTML viene ricaricato ogni 5 secondi per verificare il funzionamento.

    ciao,
    dante.


  • Super User

    GRazie! Provo subito poi ti faccio sapere!!