Avatar billede bambinogrande Nybegynder
16. januar 2003 - 12:22 Der er 13 kommentarer og
1 løsning

spørgsmål omkring <asp:hyperlink> ?

Hej med jer.....

Lige et spørgsmål omkring en server kontrol.

Jeg har mit hyperlink:

<asp:hyperlink cssclass="black" id="lnkNav"
text='<%# DataBinder.Eval(Container.DataItem, "NavSpot") %>'
navigateurl='<%# DataBinder.Eva(Container.DataItem, "URL") %>' runat="server" />
           
Hvordan flytter jeg den Databinding som ligger på teksten og navigateurl'n på code-behind filen?

Public Sub HyperlinkNavigate()
    lnkNav.text = ?
    lnkNav.NavigateUrl = ?
End Sub

MVH

/Bambino
Avatar billede burningice Nybegynder
16. januar 2003 - 12:42 #1
kører du den i et datagrid?! i så fald skal du kigge på ItemDataBound eventen for dit datagrid, hvor du i din codebehind kan binde data til et item i dit datagrid... men hvorfor vil du ikke bruge databinding på selve siden?
Avatar billede burningice Nybegynder
16. januar 2003 - 12:42 #2
der står forresten alt om det her

ms-help://MS.NETFrameworkSDK/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassitemdataboundtopic.htm
Avatar billede bambinogrande Nybegynder
16. januar 2003 - 12:42 #3
Ja i en DataList........
Avatar billede bambinogrande Nybegynder
16. januar 2003 - 12:52 #4
>> cyberfessor, kan du ikke komme med et eksempel?
Avatar billede burningice Nybegynder
16. januar 2003 - 19:19 #5
joda... her kommer der et fint lille eksempel (taget direkte fra det link jeg gav dig!!)

Remarks
The ItemDataBound event is raised after an item is data bound to the DataList control. This event provides you with the last opportunity to access the data item before it is displayed on the client. After this event is raised, the data item is nulled out and no longer available.

For more information about handling events, see Consuming Events.

Example
The following example demonstrates how to specify and code a handler for the ItemDataBound event to display the order in which items in the DataList control are bound to the control.

<%@ Import Namespace="System.Data" %>

<html>
<script language = "C#" runat="server">

  ICollection CreateDataSource()
  {
      DataTable dt = new DataTable();
      DataRow dr;

      dt.Columns.Add(new DataColumn("StringValue", typeof(string)));

      for (int i = 0; i < 20; i++)
      {
        dr = dt.NewRow();
        dr[0] = "Item " + i.ToString();
        dt.Rows.Add(dr);
      }

      DataView dv = new DataView(dt);
      return dv;
  }

  void Page_Load(Object sender, EventArgs e)
  {
      if (!IsPostBack)
      {
        DataList1.DataSource = CreateDataSource();
        DataList1.DataBind();
      }
  }

  void Item_DataBound(Object sender, DataListItemEventArgs e)
  {
      Label1.Text = Label1.Text + " " + e.Item.ItemIndex.ToString();
  }

</script>

<body>

  <form runat=server>

      <h3>DataList ItemDataBound Example</h3>

      <asp:DataList id="DataList1"
                    RepeatLayout="Table"
                    RepeatDirection="Horizontal"
                    RepeatColumns="5"
                    GridLines="Both"
                    OnItemDataBound="Item_DataBound"
                    runat="server">

        <HeaderTemplate>
            Items
        </HeaderTemplate>
             
        <ItemTemplate>
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
        </ItemTemplate>

      </asp:DataList>

      <p>
      <hr noshade align="left" width="300px">
                 
      <asp:Label id="Label1"
                Text="Order Items Created: "
                runat="server"/>
      <br>

      Note: -1 refers to the header being created.

  </form>

</body>
</html>
Avatar billede burningice Nybegynder
16. januar 2003 - 19:23 #6
istedet for denne kode i Item_Bound proceduren

Label1.Text = Label1.Text + " " + e.Item.ItemIndex.ToString();

kan du jo tilføje en label, og sætte den ind, du ved jo hvor langt du er kommet i listen, ved hjælp af e.Item.ItemIndex
Avatar billede bambinogrande Nybegynder
17. januar 2003 - 08:34 #7
Hej igen............. hehe! Jeg har tjekket det link ud, og det er også meget fint og generelt er SDK'n en fed hjælp, men grunden til jeg spørger dig om et lille eksempel i VB.NET (heheh,- fatter ikke C#) er fordi jeg ikke lige kan se fidusen  i SDK'ens eksempel.

:-(
Avatar billede burningice Nybegynder
17. januar 2003 - 10:07 #8
bambinogrande>> oh... jamen, SDK'en har da også eksemplet i vb.
Avatar billede bambinogrande Nybegynder
17. januar 2003 - 10:10 #9
ja ja.......... det har jeg set, men jeg fatter ikke det eksempel der!

hvis jeg gjorde så ville jeg jo ikke spørge dig,-
Avatar billede burningice Nybegynder
20. januar 2003 - 18:32 #10
bambi>> det er ikke sikkert... der er sq så mange spørgere der ikke engang kan finde ud af at bruge google, no offense ;)

jeg vil dog så sige, at hvis du ikke får noget ud af det eksempel der er i SDK'et, er du lidt forked, da det er ret basic, anyways.

Kender du til events? Altså et stykke kode man udfører når der sker et eller andet i koden? Så godt som alle kontroller i .Net har events, f.eks. har en knap en klik-event, som altså på dansk betyder, at man kan udføre noget kode når man klikker på knappen.
På samme måde har en DataList forskellige events, og en af dem er DataBound, som udføres hver gang noget data bliver binded til kontrollen, og ifølge SDK'et, er denne event allersidste chance for at manipulere med data'erne der skal vises, og det er jo netop det som vi skal :)

Eventargs... kender du til dem? det er forskellige informationer der bliver sendt med som input når man kalder en metode der er hægtet på en event. Ved hjælp af DataListItemEventArgs kan vi finde ud af f.eks. hvor langt i DataListen vi er nået, og på den måde f.eks. oprette en label og tilføje den det rigtige sted.

denne kode er ikke testet på nogen måde, men jeg håber at det kan give dig en ide om hvordan du kan løse dit problem... :)

        void Item_DataBound(Object sender, DataListItemEventArgs e)
        {
            Label l = new Label();
            l.Text = "hej";

            e.Item.Controls.Add(l);
        }
Avatar billede bambinogrande Nybegynder
21. januar 2003 - 14:11 #11
Okay..........what ever!

Du behøver ikke bekymre dig om hvad jeg kan og hvad jeg ikke kan, det er ikke derfor jeg ligger et indlæg her og heller ikke for at se en copy paste af et latterligt SDK eksempel!
Avatar billede bambinogrande Nybegynder
21. januar 2003 - 14:12 #12
Har fundet ud af det,-

lukker!

/B.G.
Avatar billede burningice Nybegynder
21. januar 2003 - 15:36 #13
jf. dit spm...

"HVORDAN flytter jeg den Databinding..." står der noget om "giv mig koden til..." eller "lav det her for mig..." ??

der er sq ingen der lærer af copy&paste, så derfor gær jeg ikke andet end at fortælle HVORDAN det løses, i dette tilfælde af DataBound eventen. Du spørg derefter efter et eksempel, og der giver jeg dig så et... om du så synes det er latterligt eller ej, så er det et eksempel.

Hvis folk gerne vil have det hele serveret på et sølvfad, så findes der er en kategori der hedder Freelance, jeg er sikker på at der sidder en masse folk her der gerne vil kode den næste version af windows til dig.
Avatar billede bambinogrande Nybegynder
21. januar 2003 - 15:40 #14
hahahaha.........på et sølv fad!

tak for hjælpen, anyways!

Og jeg er godt tilfreds med winXP og .NET Server 2003!

Peace
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester