En fråga. Det finns inte något sätt att exekvera koden i .cs-filen för att sedan hämta upp data i aspx-filen inom en scriptlets? Typ <%= Request.???(DataObjectSomething("ID")) %>
Eller måste man alltid binda data till en kontroll, typ repeater?
Ny på ASP.net söker svar på...
27 svar · 1 942 visningar · startad av Sunix · sida 2 av 2
Frågan, av Sunix
Hej, i "gamla" ASP kunde man använda sig av scriptlets typ. \<% rs("ssd") %\> Men i .net verkar man endast använda sig av olika kontroller typ Datagrid m.fl. I asp hade man total kontroll på layout i.o.m. man kunde verkligen specificera var fälten/i vilken cell datat från DB skulle skrivas ut men i .net verkar man vara utelämnad till att justera och designa dessa kontroller! Har jag fel och i så
Läs frågan i sin helhet →Du måste inte binda till en kontroll, men det är SÅÅ mycket bättre.
Du har definerat att ditt ItemDataBound-event tar emot ett EventArgs-objekt. Det är inte fel, men det innehåller inte de specifika Repeater-egenskaperna.
Du vill istället använda ett RepeaterEventArgs-objekt
Du kan mycket väl köra ett metodanrop i repeatern
typ
<%# GetMyStringFromMyObject(Container.DataItem) %>
o sen får du bara casta objektet till vad det är o returnera nån lämplig sträng
kanske
protected string GetMyStringFromMyObject(Object obj)
{
DataRow row = obj as DataRow; // ev DataRowView minns inte vilket
string hupp = row["Rostskada"] as string;
if(hupp != null && hupp == "ja) return "Rostskadad";
return "Som ny";
}
fördelen är att di slipper få ett element med fult .net ID :-)
Ja nu fungerar det men inte så smidigt som man kan tro! Hur gör man så om man skulle vilja blanda data från 2 tabeller eller rent av 2 databaser i samma repeater. Är det tänkt att SQLkoden ska lösa det eller finns det något sätt att binda till repeatern?!
Man kan nästla repeaters
http://www.codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx
Man kan joina ihop data från olika tabeller, från samma eller olika databaser
http://www.sql-tutorial.net/SQL-JOIN.asp
mitt listviewexempel visar nästlade data :)

