09. juni 2006 - 20:39Der er
13 kommentarer og 1 løsning
Vælg style udfra querystring
Hej,
Jeg står og skal lave en produktoversigt, men personen jeg laver det for vil gerne have at tekstens farve ændre sig alt efter hvilken kategori man går ind under. Det skal siges den henter kategories produkter via en querystring, så jeg går udfra at man også kan bruge den til at fortæle hvilken style man vil bruge ?
Måske noget a la if(style=="black") DataList1.ForeColor = System.Drawing.Color.Black; if(style=="blue") DataList1.ForeColor = System.Drawing.Color.Blue;
Humm... jeg kan ikke lige umiddelbart for det til at virke, men jeg tror du er inde på noget af det rigtige, jeg prøver lige at kigge på det i morgen, Tak for din kommentar :D
Jeg får ingen fejl, men den ændre heller ikke tekstens udseende.
Min datalist ser sådan ud: <asp:DataList ID="DataList2" runat="server" DataSourceID="komps" RepeatColumns="3" RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False"> <ItemTemplate> <table>
Prøv at skrive if (!IsPostBack) DataList2.ForeColor=System.Drawing.Color.Red;
for at se, om du kan få den til at skifte farve. Hvis du kan det, fungerer din eksisterende kode ikke, fordi ingen af dine IF-sætninger evalueres til true. Ovenstående virker fint hos mig. Kan du ikke poste et eksempel på den querystring, der skal udløse stil-ændringen ?
Jeps, det har det. Så skal du bruge asp's egen hyperlink: <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("produktId", "komp.aspx?id={0}") %>' Text='<%# Eval("produktId") %>'></asp:HyperLink><br />
og : protected void DataList2_ItemCreated(object sender, DataListItemEventArgs e) { HyperLink link = (HyperLink)e.Item.FindControl("HyperLink1"); link.ForeColor = System.Drawing.Color.Red; }
ok - jeg fandt lige en anden løsning i samme øjeblik du skrev: Den ser sådan her ud: if (!IsPostBack) { if (serie == "DPBITxx") { DataList2.ItemStyle.CssClass = "DPbit"; } if (serie == null) { DataList2.ItemStyle.CssClass = "DPbit"; } if (serie == "21xx") { DataList2.ItemStyle.CssClass = "21xx"; } if (serie == "20xx") { DataList2.ItemStyle.CssClass = "20xx"; }
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.