Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Response.write dentro contenitore

    ciao!
    in apertura prendo i dati da un link e poi li vorrei impostare dentro a un contenitore.
    se faccio come sto facendo adesso succede che il tutto viene visto all'inizio della pagina (al di sopra della Master per intenderci):
    codice:
            protected void Page_Load(object sender, EventArgs e)
            {
    .........................
                 for (int i = 0; i < rssItems.Count; i++)
                {
                    Response.Write("
    
    " + title + "
    ");
    }
       ..............
            }
    come faccio a dire di mettere tutto quello dentro a un div o un altro contenitore del genere??

  2. #2
    Ciao,
    stai utilizzando il vecchio metodo stile asp classico. Considera che ASP.NET è completamente diverso.
    Per questo ti consiglio di dare un'occhiata almeno a questo documento:
    http://msdn.microsoft.com/en-us/library/ms178472.aspx

    Quindi, dopo questa infarinatura, puoi risolvere utilizzando un semplice repeater, passandogli rssItems come sorgente dati.

    esempio:
    codice:
    <asp:repeater id="rssRepeater" runat="server">
    <ItemTemplate>
        
    
    <%# Eval("title") %>
    
    </ItemTemplate>
    </asp:repeater>
    codice:
    protected void Page_Load(object sender, EventArgs e)
    {
        ...
        this.rssRepeater.Datasource=rssItems;
        this.rssRepeater.DataBind();
        ...
    }

  3. #3
    ciao!
    intanto grazie per la risposta.
    sapevo che era asp classico, è con l'asp.net sono un pò arrigginito.

    ho provato così:
    codice:
            protected void Page_Load(object sender, EventArgs e)
            {
                WebRequest myRequest = WebRequest.Create("http://www.mattepuffo.com/site/?format=feed&type=rss");
                WebResponse myResponse = myRequest.GetResponse();
                Stream rssStream = myResponse.GetResponseStream();
                XmlDocument rssDoc = new XmlDocument();
                rssDoc.Load(rssStream);
                XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
                this.rssRepeater.DataSource = rssItems;
                this.rssRepeater.DataBind();
            }
    e nella pagina ho messo quello che ha messo te.
    mi viene restitui questo errore:
    codice:
    DataBinding: 'System.Xml.XmlElement' non contiene una proprietà con nome 'link'.
    solo che guardando nella pagina del feed ci stanno sia link che title.

  4. #4
    la classe XmlNodeList non va bene per fare il bind con il repeater, perché espone un enumeratore di XmlNode.
    XmlNode non ha proprietà text e link

    usa un XmlDataSource

  5. #5
    ok ho cambiato un pò di cose e ho fatto così:
    codice:
        <asp:XmlDataSource ID="xmlRss" runat="server" DataFile="http://www.mattepuffo.com/site/?format=feed&type=rss"
            XPath="rss/channel/item"></asp:XmlDataSource>
        <asp: DataList ID="listRss" runat="server" DataSourceID="xmlRss">
            <ItemTemplate>
                
    
    
                    <a href="<%# XPath("link")%>" target="_blank">
                        <%# XPath("title")%></a>
                </p>
            </ItemTemplate>
        </asp: DataList>
    nn so se è il modo più corretto però mi sembra funzionare.
    grazie per le dritte!

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.