webForumDet fria alternativet

visa en ny vy

.NET

12 svar · 265 visningar · startad av piddy

Medlem sedan aug. 200253 inlägg
Frågan#1

hej hopp!!

tjat-maja här igen...:r

jag är så glad att jag fått min sida att funka, men nu när jag väl lyckats lägga in data i min databas skulle jag vilja ha någon form av verifiering. jag skulle vilja visa en "ny" sida /en ny vy. är det möjligt att växla mellan html-sidor?

Medlem sedan juni 20011 732 inlägg
#2

Javisst! :)

Response.Redirect("sidan.aspx")

Medlem sedan juni 20011 732 inlägg
#3

Eller så kan du naturligtvis visa och dölja olika delar av sidan om du inte vill ha två olika sidor. Detta gör du lättast med en <asp:panel> som du omsluter valda delar och visar med panelID.Visible = true|false;

Medlem sedan aug. 200253 inlägg
#4

kalas. vet du var man kan hitta mer info om detta?

Medlem sedan juni 20011 732 inlägg
Medlem sedan aug. 200253 inlägg
#6

aha,,,skulle det funka så här...

<asp: Panel id="VisaFörst" runat="server" />

<html>
<body>
tjolahopp vad mycket design det var här...
</body>
</html>
</asp:Panel>

<asp:Panel id:"VisaSen" runat="server" />
<html>
<body>
tralalala här kommer det också en hel drös med bilder, text och annat tjaffs.
</body>
</html>
</asp>

...för att skapa en känsla av att användaren "slussas" mellan helt två skilda sidor trots att det är samma sida bara visar olika "vyer"??

Kan det vara så, kan det?? :P

p.s var lägger jag i såfall bäst den första vyn, i funktionen PageLoad?

Medlem sedan maj 2001329 inlägg
#7

Gör så här istället


<html> 
<body> 
<asp: Panel id="VisaFörst" runat="server" /> 
tjolahopp vad mycket design det var här... 
</asp:Panel>
<asp:Panel id:"VisaSen" Visible="false" runat="server" /> 
tralalala här kommer det också en hel drös med bilder, text och annat tjaffs. 
</asp:Panel>
</body> 
</html>

Alltså låt inte panelsarna omsluta bodytagarna. Det är bättre om de bara inhåller html eller asp kontroller. Speciellt eftersom en Asp.Net sida bara kan innehålla en form tag.

För att dölja den andra ger du den initial värdet visible="false" och när du vill visa den sen VisaSen.Visible=true.

Medlem sedan aug. 200253 inlägg
#8

och då när jag väljer att visa den andra panelen kan jag släcka den första?

kan jag även ha en länk tillbaka till "startsidan" ifall användaren vill fylla i formuläret en gång till??

Medlem sedan juni 20011 732 inlägg
#9

Självklart, du kan visa och dölja dem hur många gånger du vill. Du kan naturligtvis visa alla panels samtidigt också.

Medlem sedan maj 2001329 inlägg
#10

Visst kan du släcka den

VisaFörst.Visible = false;

och sen logiskt tvärtom ifall du vill ta fram den första panelen.

En annan liknande 'teknik' som du kan titta på är user controlls. Tanken bakom dessa är att de är små komponenter på sidan som innehåller all kod själv. Det fina med dessa är att man lätt kan 'klistra' in dem på flera sidor. Exempelvis med en loginruta som ska vara med överrallt. Lite jobbigt att koda logiken för den hela tiden

http://samples.gotdotnet.com/quickstart/aspplus/doc/webpagelets.aspx

Medlem sedan aug. 200253 inlägg
#11

jag vill först visa en sida där användaren knappar in sina uppgifter, sedan matas data in och en ny panel visas för användaren med meddelandet "nu är dina data inlagda".

sedan ska det vara möjligt att gå tillbaka till förstasidan och då vill jag att alla kontroller ska vara tomma....

Vet inte riktigt hur jag ska lösa detta..

Medlem sedan juni 20011 732 inlägg
#12

Vad du måste göra är alltså att hoppa in i en funktion där du döljer/visar dina panels. Det kan du exempelvis göra med en linkbutton (eller en vanlig button eller vad som helst som du kan köra funktionen med).

<asp:linkbutton id="abc" onclick="min_funktion" runat="server">Tillbaka</asp:linkbutton>

public void min_funktion(object sender, System.EventArgs e) {
Panel1.Visible = true;
Panel2.Visible = false;
}

Medlem sedan juni 20011 732 inlägg
#13

Tillägg, för att göra det lite snyggare och bättre i vs.net:

Dra in en linkbutton i designläget. Markera den, klicka på events (den gula blixten i properties-fönstret) och skriv ett valfritt funktionsnamn under action/click och tryck enter. Färdigt!

Om du sedan tittar på din link-button så ser du att den inte har en onclick i sig trots att den kör funktionen när du klickar på den... :)

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)