Vad gör du i gameNameDropDown_SelectedIndexChanged? Verkar som att du binder om din droppis varje gång du väljer ett värde i den? Gör en funktion där du hämtar de data som ska in i din droppis första gången besökaren exekverar sidan och utnyttja sedan viewstaten (den kommer ihåg sina egna värden).
Du måste också lägga till ett item "Välj" i din droppis högst upp, annars kan du ju inte välja det första alternativet första gången du kliver in på sidan om du använder autopostback.
gameNameDropDown.DataSource = ...;
gameNameDropDown.DataTextField = "gameName";
gameNameDropDown.DataValueField = "gameID";
gameNameDropDown.DataBind();
// Lägg till "Välj" högst upp
gameNameDropDown.Items.Insert(0, new ListItem("Välj", "-1"));
Vad gör du i gameNameDropDown_SelectedIndexChanged? Verkar som att du binder om din droppis varje gång du väljer ett värde i den? Gör en funktion där du hämtar de data som ska in i din droppis första gången besökaren exekverar sidan och utnyttja sedan viewstaten (den kommer ihåg sina egna värden).
Du måste också lägga till ett item "Välj" i din droppis högst upp, annars kan du ju inte välja det första alternativet första gången du kliver in på sidan om du använder autopostback.
Tack för ditt svar!
Ja, jag använder autoPostback. Och att lägga till ett "Välj"-värde är precis vad jag vill göra! Så här ser koden ut i cs-filen:
Ta bort redirecten (du ska aldrig redirecta tillbaka till sidan du redan befinner dig på). Skippa AccessDataSource-kontrollen och gör kopplingen i koden (lägg gärna ned en stund på att göra ett enkelt dal istället som hanterar dina databasanrop). Skippa querystrings, gameid når du överallt med gameNameDropDown.SelectedValue. I gameNameDropDown_SelectedIndexChanged anropar du istället en funktion som fyller din gridview med dina data.
Ta bort redirecten (du ska aldrig redirecta tillbaka till sidan du redan befinner dig på). Skippa AccessDataSource-kontrollen och gör kopplingen i koden (lägg gärna ned en stund på att göra ett enkelt dal istället som hanterar dina databasanrop). Skippa querystrings, gameid når du överallt med gameNameDropDown.SelectedValue. I gameNameDropDown_SelectedIndexChanged anropar du istället en funktion som fyller din gridview med dina data.
Som datakälla ska du ha en collection av något slag. En array, en datatable eller liknande. Du gör en koppling till din db, fyller en datatable med resultatet och använder den som datakälla.
Här kan du läsa allt om hur man utnyttrar datakontrollerna: http://quickstarts.asp.net/QuickStartv20/aspnet/doc/data/databases.aspx
Men som sagt, jag föreslår att du också försöker lära dig att göra dina egna kopplingar i koden, förr eller senare kommer du behöva det. Personligen tycker jag inte att databaskopplingarna hör hemma i presentationslagret.
Ok, nu kan jag visserligen inte alls ASP.NET men innebär inte OnSelectedIndexChanged="gameNameDropDown_SelectedIndexChanged" att indexet måste ändras för att funktionen ska anropas? Och står det jämt valt tetris som standard så går det ju inte att ändra till tetris eller hur? Borde väl finnas något annat du kan använda istället typ OnSelectClick eller så.
252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2