Avatar billede misbruger Nybegynder
17. december 2002 - 14:05 Der er 9 kommentarer og
1 løsning

Hent værdi i Repeater

Jeg har en repeater på en webform.

I min repeater ligger der blandt andet en knap ud for hver post.
Der ligger en method på min code behind side som svare på denne knap.

I denne method vil jeg gerne hente i af de værdier der ligger repeateren, ud fra den knap der er blevet trykket på...

Men hvordan gør jeg dog det....?


Alle værdier i min repeater er binded ved.....
<%# DataBinder.Eval(Container.DataItem, "Name") %>

Jeg vil gerne hente...
rptStationList.Items["Name"]  // <- Get this items value

Så jeg f.eks kan gøre...

Session["Name"] = //The name value
Avatar billede mufoxe Nybegynder
17. december 2002 - 15:04 #1
Dette gøres i event metoden for din knap:
DropDownList ddl = e.findControl("dropdownlist")
TextBox txt = e.findControl("editbox")
osv.
Herefter kan du tilgå dine kontroller på normal vis.
Avatar billede misbruger Nybegynder
17. december 2002 - 16:02 #2
Min repeater...

<asp:repeater id=rptStationList runat="server" OnItemCommand="StationSelection">
  <HeaderTemplate>
    <table id="StationList" width="100%">
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
      <td><asp:Label Runat="server" CssClass="ContentLarge" ID="lblName"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:Label></td>
      <td><asp:Label Runat="server" CssClass="ContentLarge" ID="lblAddress1"><%# DataBinder.Eval(Container.DataItem, "Address1") %></asp:Label></td>
      <td><asp:Label Runat="server" CssClass="ContentLarge" ID="lblPostalCode"><%# DataBinder.Eval(Container.DataItem, "PostalCode") %></asp:Label></td>
      <td><asp:Label Runat="server" CssClass="ContentLarge" ID="lblPhone"><%# DataBinder.Eval(Container.DataItem, "Phone") %></asp:Label></td>
      <td><asp:ImageButton Runat="server" CommandArgument=<%# DataBinder.Eval(Container.DataItem, "StationNumber") %> ID="imbStationSelected" ImageUrl="Images/arrow.gif"></asp:ImageButton></td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </table>
  </FooterTemplate>
</asp:repeater>

Min method....

public void StationSelection(object sender, RepeaterCommandEventArgs e)
{
  Session["Name"] = // <- Like how...?
}
Avatar billede burningice Nybegynder
17. december 2002 - 17:44 #3
er det noget i den her retning du søger?

http://www.burningice.dk/sjov/datalist.aspx
Avatar billede misbruger Nybegynder
17. december 2002 - 17:51 #4
Faktisk så det jeg ønsker er, at når man trykker på en navn, så viser den f.eks. email addressen
Avatar billede burningice Nybegynder
18. december 2002 - 03:55 #5
koden til den side jeg viste dig er

public void MyDataList_Select(Object sender, EventArgs e)
{
    int index = MyDataList.SelectedItem.ItemIndex;

    MyLabel.Text += index.ToString() +" og i den tilhørende textbox stod der <b>"+ ((TextBox) MyDataList.Items[index].FindControl("txtText")).Text +"</b>";

}

og det burde ikke være meget anderledes for en repeater
Avatar billede misbruger Nybegynder
18. december 2002 - 21:16 #6
Jeg har desværre ikke haft held at overføre ovenstående til en repeater...?
Avatar billede misbruger Nybegynder
21. december 2002 - 12:29 #7
Når men nu har jeg klaret det, dog med en lille workaround....

I knappen på min repeater har jeg...

CommandName=<%# DataBinder.Eval(Container.DataItem, "Name") %>

På min codebehind har jeg så....

Session["Name"] = e.CommandName.ToString();
Avatar billede misbruger Nybegynder
21. december 2002 - 12:30 #8
Ellers tak for hjælpen!
Avatar billede burningice Nybegynder
21. december 2002 - 21:39 #9
helt iorden... så ved jeg da hvordan det kan gøres til en gang jeg selv skal bruge det ;)

Glædelig jul
Avatar billede misbruger Nybegynder
21. december 2002 - 21:52 #10
Tak og i lige måde!
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