Grafica in runtime

marquito5

Nuovo Utente
17 Gen 2007
6
0
0
Sono un appassionato di web e ho deciso di apprendere asp.net dopo aver fatto qualche cosa con asp (non sono completamente novizio di programmazione ma non sono un professionista) .

La prima domanda che mi sono posto è, come posso riempire, diciamo a runtime, una pagina aspx dove è presente una masterpage e un contentplaceholder, o come cavolo si chiama l'area riprogrammabile della masterpage?

Un grazie a chiunque voglia aiutarmi!:book:
 

ArtCava

Utente Attivo
23 Dic 2006
48
0
0
Torino
www.artcava.net
mmmhhh...

La domanda posta così potrebbe voler dire molte cose...

Provo a rispondere nel modo più semplice poi vedi tu come estendere il discorso...

Crei una nuova pagina .aspx specificando che vuoi farla derivare da una MasterPage, e selezioni quella che hai creato...

Se una pagina ce l'hai già invece, per associarla alla Master devi inserire questo:
Codice:
<%@ Page Language="C#" MasterPageFile="~/Default.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
...la tua pagina...
</asp:Content>

Naturalmente con i riferimenti giusti di:
  • Language
  • MasterPageFile
  • CodeFile
  • Inherits
  • ContentPlaceHolderID

Poi nel Code behind fai quello che desideri...

:byebye:
 

marquito5

Nuovo Utente
17 Gen 2007
6
0
0
Ok! Parliamone ...

Intanto grazie ArtCava di aver preso in considerazione il mio argomento.

Ok la pagina che ho generato ha il codice in testa come mi hai descritto (tranne 'language' che io da profano uso VB).

Ora,se voglio aggiungere una serie di immagini all'interno del ContentPlaceHolder prelevandole da una cartella, nel Code behind farò un ciclo e...

adesso mi perdo ...

in asp scrivevo response.write con tutta la stringa <img src="..." > eccetera e visualizzavo l'immagine, in asp.net spero che ci sia qualcosa di più rapido.

Puoi/potete aiutarmi?
 

ArtCava

Utente Attivo
23 Dic 2006
48
0
0
Torino
www.artcava.net
You're lucky!

Mi hai stimolato la creatività!

Diciamo che nativamente (per ASP.NET) non conosco un metodo veloce diverso da quello che comunemente si utilizzava in ASP con il FileSystemObject...

In ASP.NET esistono dei controlli tipo GridView, DataList che ti permettono di caricare dinamicamente informazioni a partire da DB, files XML, oppure oggetti. In nessun modo è possibile caricare informazioni dal FileSystem.

Normalmente per caricare delle immagini in questi controlli ne viene specificato il path in una colonna del DB, oppure in un tag XML, o proprietà di esso.

In effetti però perché non caricare le informazioni dei files (... immagini nello specifico...) in un array di oggetti?

L'oggetto più indicato sarebbe FileInfo che trovi in System.IO. Ma sicuramente non da informazioni sulla posizione relativa del file nell'applicazione web...

Come tu sai una cosa è dire C:\Inetpub\wwwroot\Images\image.jpg e altra cosa è Images/image.jpg.

Quindi ho creato "ad hoc" una dll che fa tutto questo.

Ha un oggetto principale Folder il cui metodo GetFileList ritorna un array di FileListed.

Se prendi questo array e lo associ al DataSource di un DataList il gioco è pressochè fatto...

Pagina aspx
Codice:
<%@ Page Language="C#" MasterPageFile="~/Default.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound">
        <ItemTemplate>
            <asp:Image ID="Image1" runat="server" />
        </ItemTemplate>
    </asp:DataList>
</asp:Content>

Code behind
Codice:
using ArtCava.FileSystemListing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Istanza dell'oggetto con specificato il Path di ricerca...
        Folders fld = new Folders(@"C:\Inetpub\wwwroot\Images");
        //Qui specifico il Path relativo per il WEB
        fld.URLPath = "Images";
        //Carico tutti i files
        FileListed[] list = fld.GetFileList();
        //Associo l'array al DataList
        DataList1.DataSource = list;
        //Genero il binding automatico dell'oggetto
        DataList1.DataBind();
    }
    //Evento che si scatena ad ogni item dell'array che entra nel DataList
    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        //Prelevo l'oggetto "boundato"...
        FileListed f=(FileListed)e.Item.DataItem;
        //Cerco l'oggetto image nel DataList
        Image pippo = (Image)e.Item.FindControl("Image1");
        //Gli assegno il Path, quello relativo...
        pippo.ImageUrl=f.WebPath;
    }
}

L'unico problema sta nel fatto che io utilizzo C#, ma vedrai la conversione di queste poche righe di codice saranno una passeggiata...

Le altre proprietà esposte attualmente dall'oggetto FileListed sono:
  • Size
  • FileExtension
  • SystemPath
  • Exists
  • Name

Se hai bisogno di altre proprietà...

Per scaricare la DLL fai Click qui

:byebye:
 

marquito5

Nuovo Utente
17 Gen 2007
6
0
0
Bell'affare

Veramente complimenti!

Devo digerire ancora tutto ciò che mi hai postato, ma appena controllato, ti porrò altre domande, sempre che non ti disturbi.

A presto!:fonzie:
 

marquito5

Nuovo Utente
17 Gen 2007
6
0
0
Adesso stimoli my brain

In ASP.NET esistono dei controlli tipo GridView, DataList che ti permettono di caricare dinamicamente informazioni a partire da DB

Quindi, studiato un DB ad hoc per delle news, con un immagine, un titolo e del testo, posso utilizzare un datalist per preparare una pagina di notizie?
 

ArtCava

Utente Attivo
23 Dic 2006
48
0
0
Torino
www.artcava.net
Semplice

Prepari il tuo DataList sulla pagina con gli oggeti predisposti a ricevere l'immagne, il titolo e la news...

Nel Page_Load carichi un DataReader (quello di ADO per capirci...) con la tua brava "SELECT * FROM..."

Lo associ al DataSource del DataList, e poi chiami il metodo DataBind() come avresti fatto con il mio oggetto...

Il DataBind() scatenerà tanti ItemDataBound quanti sono i record del DataReader. A questo punto invece di
Codice:
FileListed f=(FileListed)e.Item.DataItem;
carichi un
Codice:
DataReader RS = (DataReader)e.Item.DataItem;

Dall'RS poi prelevi i dati che ti servono e li metti nei controlli del DataList...

Beh! Prova poi fammi sapere...

:byebye:
 

marquito5

Nuovo Utente
17 Gen 2007
6
0
0
Ce l'ho fatta!

Buon ArtCava,

il parto è stato lungo ma ce l'ho fatta. :mavieni:

Ho fatto il tutto senza inserire una linea di codice, poichè la mia ignoranza a riguardo è ancora insormontabile.

Questo quello che ho combinato.

Codice:
    <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/news.mdb"
        SelectCommand="SELECT * FROM [news] order by id desc;">
    </asp:AccessDataSource>
    <asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1" Width="100%" >
        <ItemTemplate>
            <div class="imgcol">
                <asp:Image ID="Image1" runat="server" ImageAlign="TextTop" ImageUrl='<%# Eval("immagine") %>'/>
            </div>
            <div class="textcol">
                <h1><asp:Literal ID="Label1" runat="server"  Text='<%# Eval("titolo") %>'></asp:Literal></h1>
                <p><asp:Literal ID="Literal1" runat="server" Text='<%# Eval("testo") %>'></asp:Literal></p>
            </div>
        </ItemTemplate>
    </asp:DataList>

Non so bene se è come quello che mi avevi descritto, ma per ora potrebbe andar bene per la visualizzazione.

Il bello viene ora!

L'inserimento!

Per adesso inserisco tutto con un detailview (la parte di codice VWD la fa tutto in automatico se ben impostato), ma l'oggetto non si può personalizzare molto.

Ovvero, se volessi far selezionare un file immagine dal PC e uplodarlo sul server quando inserisco anche i campi titolo e testo, ancora non so farlo.

Mi puoi/potete dare una zampa anche in questa occasione?
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [Cerco][Gratuito] Artista/designer per creazione grafica gioco di società Offerte e Richieste di Lavoro e/o Collaborazione 0
J [Cerco] [Collaborazione gratuita] Grafico per piccoli lavori di grafica Offerte e Richieste di Lavoro e/o Collaborazione 0
P Proiezione di Gauss per grafica su sfera in PVC Photoshop 0
L Interfaccia grafica per gestire sql server .NET Framework 1
L [Photoshop] Tavoletta grafica o pc touch screen Photoshop 1
N [Photoshop] Tavoletta Grafica XP-Pen O Wacom : Consigli per il primo Acquisto Photoshop 0
A [Photoshop] Tavoletta grafica Huion non funziona con PS CS6 Photoshop 2
J Tavoletta grafica per neofiti con buon rapporto qualità/prezzo? Discussioni Varie 0
S importare testi da file esterno a grafica photoshop Photoshop 0
D Interfaccia Grafica in C C/C++ 3
D [Photoshop] Consiglio acquisto tavoletta grafica de xp-pen Photoshop 0
M [Photoshop] La tavoletta grafica "sposta" le immagini Photoshop 18
B Visualizzazione interfaccia grafica photoshop cs 5 Photoshop 1
Ð [Vendo]programmazione - grafica Offerte e Richieste di Lavoro e/o Collaborazione 0
Magenta [WordPress] Errore di connessione: si apre solo la home page e senza grafica WordPress 9
L offro collaborazione grafica e web Offerte e Richieste di Lavoro e/o Collaborazione 6
M [HTML] Aiuto grafica sito HTML e CSS 1
Devil-94 [OFFRO] sviluppo siti web + grafica. Offerte e Richieste di Lavoro e/o Collaborazione 16
G Grafica editoriale Discussioni Varie 0
O Faccio GRAFICA per il cibo Offerte e Richieste di Lavoro e/o Collaborazione 0
Ð [VENDO] Programmazione - Grafica - Articoli e Traduzione Offerte e Richieste di Lavoro e/o Collaborazione 0
lab Creazione siti, loghi, tutto per la grafica. Offerte e Richieste di Lavoro e/o Collaborazione 0
I Compenso per presentazione grafica Webdesign e Grafica 0
felino Sito web per hotel: consiglio su impostazione grafica Webdesign e Grafica 1
F Software grafica Webdesign e Grafica 1
glm2006ITALY Grafica di Google cambiata SEO e Posizionamento 8
maxbossi Regolamento Regolamento forum "Webdesign e Grafica" - leggere attentamente prima di postare! Webdesign e Grafica 0
C Prendere la grafica di un tema gratuito wordpress WordPress 2
W Realizzo siti web , ecommerce, per condomini, grafica , ottimizzazione SEO Roma e dintorni Domini 0
S Consiglio per una grafica cross-browser (anche su browser obsoleti) HTML e CSS 12
C Verfiche per grafica responsive HTML e CSS 8
S [ACCESS]: Database e interfaccia grafica, popolare caselle dinamicamente MS Access 0
P [Cerco Lavoro] [ Retribuito] Realizzazio siti web dinamici, grafica, video, programmi Offerte e Richieste di Lavoro e/o Collaborazione 1
M Icone copiate cambiano grafica Windows e Software 3
P [GRATUITO][GRAFICA]aiuto realizzazione manifesto per volontariato Offerte e Richieste di Lavoro e/o Collaborazione 6
P Grafica originale motore di ricerca! Webdesign e Grafica 1
Koeman Ciao, lavoro da 10 anni nella grafica e nel web facendo progetti di ogni genere, da solo o in team. Presentati al Forum 6
P Nuova grafica del mio sito Presenta il tuo Sito 16
dbdenny Grafica volantino manifestazione cinofila a scopo benefico Webdesign e Grafica 1
R Grafica applicazione WPF .NET Framework 1
P Consiglio tavoletta grafica Discussioni Varie 3
P Grafica vecchio stile Discussioni Varie 22
G consiglio per grafica sito Webdesign e Grafica 2
G scelta PC per grafica WEB Webdesign e Grafica 3
D (VENDO) loghi,banners,fotoritocco professionale, e grafica vettoriale a poco prezzo Offerte e Richieste di Lavoro e/o Collaborazione 0
S Apertura laboratorio iLab grafica e webdesign Presenta il tuo Sito 0
P Rifare la grafica al mio sito (per l'ennesima volta). Presenta il tuo Sito 20
Elsabp Vendo] creazione grafica web e per la stampa Offerte e Richieste di Lavoro e/o Collaborazione 0
S realizzarre sito web per vendere la mia "grafica" Leggi, Normative e Fisco 0
Elsabp [Vendo] creazione grafica web e per la stampa Offerte e Richieste di Lavoro e/o Collaborazione 0

Discussioni simili