Avatar billede don_r Nybegynder
05. oktober 2005 - 13:34 Der er 7 kommentarer og
1 løsning

brug af "web user control"

Hej Eksperter

Jeg har en repeater inde i dens itemtemplate ønsker jeg at bruge en web user control (en ascx), det virker også fint, jeg har læst hvordan man kan sende forskellige ting med til dens codebehinde, nemlig sådan:
<CONTENT:FILEANDFUNCTION runat="server" Test="myTest"></CONTENT:FILEANDFUNCTION>   
Der skal selvfølgelig bruges en set/get function i "pageleten". Her støder jeg imidlertid ind i et problem, jeg ønsker at Test skal være et array... Kan jeg ikke sende et array med ?
Avatar billede don_r Nybegynder
05. oktober 2005 - 13:53 #1
Jeg kan faktik heller ikke få en dynamisk string ind, prøv at se:

<%
                                        //ArrayList myTest = new ArrayList();
                                        //myTest.Add("test1");
                                        //myTest.Add("test2");
                                        string myStr = "aksjdkla";
                                        %>
                                        <CONTENT:FILEANDFUNCTION runat="server" Mmm=<%=myStr%>></CONTENT:FILEANDFUNCTION>
Avatar billede don_r Nybegynder
05. oktober 2005 - 13:54 #2
<%
//ArrayList myTest = new ArrayList();
//myTest.Add("test1");
//myTest.Add("test2");
string myStr = "aksjdkla";
%>

<CONTENT:FILEANDFUNCTION runat="server" Mmm=<%=myStr%>></CONTENT:FILEANDFUNCTION>
Avatar billede perlund Nybegynder
05. oktober 2005 - 17:48 #3
Prøv at bruge <%=myStr%>
Avatar billede perlund Nybegynder
05. oktober 2005 - 17:49 #4
sludder - der skulle have stået <%#myStr%>:)
Avatar billede don_r Nybegynder
06. oktober 2005 - 08:57 #5
hvad er forskellen på <%= og <%# ??
Jeg har en repeater hvor jeg har bindet noget data til og det kan jeg så få skrevet sådan:
<%#DataBinder.Eval(Container.DataItem, "Functions")%>
Her er mit sprg. så hvorfor kan jeg ikke skrive f.eks.
<%
string test = (string)DataBinder.Eval(Container.DataItem, "Functions")
%>

det vil den ikke være med til, det virker kun med # og så kan jeg ikke putte det ind i f.eks. en string.
Avatar billede perlund Nybegynder
06. oktober 2005 - 10:12 #6
<%= er i stedet for en Response.Write();
<%# bruges når du vil binde.

Jeg forstår ikke helt, hvad det er du vil. Vil du eksekvere en stump script pr. databounditem?? Det er jo the classic ASP way.

Du kan evt. bruge flg.
<mytp:myControl runat="server" myStringProperty='<%# DataBinder.Eval(Container.DataItem, "Functions").ToString()' />

Hvis du har behov for at eksekvere noget kode pr. iteration, bør du gør sådan:
<mytp:myControl runat="server" myStringProperty='<%# MyMethod( DataBinder.Eval(Container.DataItem, "Functions"))' />
Avatar billede don_r Nybegynder
06. oktober 2005 - 10:38 #7
ok, jeg har fundet ud af det... Jeg var ikke helt sikker på hvad jeg ville...

Giver du lige et svar så får du pointene
Avatar billede perlund Nybegynder
06. oktober 2005 - 10:39 #8
svar
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
Kurser inden for grundlæggende programmering

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