Results 1 to 4 of 4

Thread: ASP.net vraagje ivm met maken menu's

  1. #1
    Senior Member
    Join Date
    Dec 2006
    Location
    Kruishoutem, Vlaamse Ardennen
    Posts
    1,140

    ASP.net vraagje ivm met maken menu's

    Hoi allen,

    Vanuit een MySql database haal in informatie op. Die info zijn stijlen van fotoreportages.
    Deze stijlen worden in een "stringcollection" gepompt, die als result van een method ter beschikking gesteld wordt van een aspx pagina.

    Procedure voor het ophalen van de items

    Code:
    method TDataModule.GetListOfSessionStyles(theLan : String) : StringCollection;
    var
      TP : StringCollection;
      SQLText : String;
      Command : MySqlCommand;
      Datareader : DbDataReader;
    begin
      TP := new StringCollection;
      SQLText := 'SELECT PictureSessionStyleID, PictureSessionStyleNameNL, IsActive ' +
                 'FROM tpicturesessionstyle ' +
                 'WHERE IsActive = 1 ' +
                 'AND PictureSessionStyleID > 0 ' +
                 'ORDER BY PictureSessionStyleNameNL';
      try
        Command := new MySqlCommand(SQLText, FConnection);
        Datareader := Command.ExecuteReader;
        while Datareader.Read do
        begin
          TP.Add(datareader.GetString(1));
        end;
        Datareader.Close;
      except
        //Implementatie van de exception handler
      end;
      Result := TP;
    end;
    Nu, hoe ik de lijst moet oproepen binnen de aspx pagina weet ik, ik weet ook hoe ik de items één voor één kan uitlezen, wat ik echter niet weet is, hoe ik de items als een link aan een bepaalde "<div>" toevoeg, die dienst doet als de opmaker van het menu.
    Concreet bevat die div een <ul> en is elk item uit de datalijst een een <li> met als item een <asp:Hyperlink>.

    voorbeeld :
    Code:
        <div class="content">
            <ul>
                <li>
                    <asp:HyperLink ID="MenuLinkUrban" runat="server" NavigateUrl="UrbanPage.aspx">
                    Urban exploring</asp:HyperLink>
                </li>
                <li>
                    <asp:HyperLink ID="MenuLinkEvents" runat="server" NavigateUrl="EventPage.aspx">
                    Evenementen en straatfotografie</asp:HyperLink>
                </li>     
                <li>
                    <asp:HyperLink ID="MenuLinkAnimals" runat="server" NavigateUrl="AnimalsPage.aspx">
                    Dieren</asp:HyperLink>
                </li>            				  				
            </ul>
        </div>
    Vraag is dus, hoe bouw ik die <ul> op.

    Bedankt.

    PS : Indien het logischer zou zijn andere componenten te gebruiken, hoor ik dat graag. Heb op dit moment niet direct een idee van deze.

  2. #2
    Er zijn een aantal manieren om dat te bereiken. Je kunt datacontrols gebruiken, daar kun je niet alleen datasets aan koppelen, maar ook zaken als arrays en de stringcollection die je hier gebruikt.

    Maar soms is het handiger om gewoon in code je hele HTML op te bouwen. De XMLWriter kan je daarbij helpen, je hoeft je dan minder druk te maken om de open en sluit haakjes bijvoorbeeld. Dus laten we daar maar met een voorbeeld beginnen:

    C# Code:
    1. protected void Page_Load(object sender, EventArgs e)
    2.     {
    3.       StringCollection tp = new StringCollection();
    4.       tp.Add("item1");
    5.       tp.Add("item2");
    6.  
    7.       StringBuilder sb = new StringBuilder();
    8.       XmlWriterSettings settings = new XmlWriterSettings();
    9.       settings.ConformanceLevel = ConformanceLevel.Fragment;
    10.       XmlWriter wr = XmlWriter.Create(sb, settings);
    11.  
    12.       foreach (string s in tp)
    13.         wr.WriteElementString("li", s);
    14.  
    15.       wr.Close();
    16.       Literal1.Text = sb.ToString();
    17.     }

    Oh ja, je moet 'm even vertalen, C# is mijn ASP.NET taaltje

    Het paginadeel dat hierbij hoort, met name de literal:

    asp Code:
    1. <form id="form1" runat="server">
    2.     <div>
    3.         <ul>
    4.             <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    5.         </ul>
    6.     </div>
    7.     </form>
    Marcel

  3. #3
    Senior Member
    Join Date
    Dec 2006
    Location
    Kruishoutem, Vlaamse Ardennen
    Posts
    1,140
    Dit is een interessant stukje. Ga dit eens verder uitspitten, bedankt.
    Nu, puur naar de menu's toe heb ik het intussen opgelost door te werken met een "menucomponent", deze levert als resultaat de gevraagde ul, die door mijn css-code dan mooi de juiste menu-view toont.

    Ik zie voor de andere delen van de asp-applicatie wel zeer mooie toepassing van de literal's.

    Thanks.

    PS : Ik gebruik beide. Dit is nu een projectje in Prism, ben bezig met een compleet test-project in C#, kwestie van beide talen onder de knie te krijgen. Want hoe je het draait of keert, .net is toch wel "anders" dan Delphi Win32, ook de prism, die niet meer is dan een soortement C#-dialect dat op pascal lijkt. Prism voornamelijk voor de datasnap-toepassingen aan de client-kant in .net, of de mogelijkheid er toe.

  4. #4

    Mohsin

    Er zijn een aantal manieren om dat te bereiken. Je kunt datacontrols gebruiken, daar kun je niet alleen datasets aan koppelen, maar ook zaken als arrays en de stringcollection die je hier gebruikt.
    http://www.pass4sure.org/Cisco/642-998.html
    http://www.unistra.fr/
    http://www.hp.com/
    http://www.cam.ac.uk/
    http://en.wikipedia.org/wiki/Adventist_University_of_Health_Sciences
    https://www.facebook.com/fansofapple
    http://www.youtube.com/user/IBM

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •