webForumDet fria alternativet

page.ispostback

6 svar · 422 visningar · startad av Arne

ArneMedlem sedan maj 2000267 inlägg
#1

Om jag klickar på en länk typ asp:HyperLink så är page.ispostback = false vad jag förstått.
Kan jag sätta det till True på något sätt?

Om inte, hur aktiverar jag en sub på bästa sätt när jag klickar på en asp:HyperLink? Vill inte använda button......

PDahlenMedlem sedan apr. 2004778 inlägg
#2

Min fråga är, Varför måste du använda asp:HyperLink? Om du ska göra en PostBack använd asp:LinkButton. Den ser likadan ut som en HyperLink men gör en PostBack istället.

ArneMedlem sedan maj 2000267 inlägg
#3

Jag vill skicka med ett datbas id när jag klickar på länken i min asp:Repeater som i sin tur ska hämta data med det id till min nästa asp:Repeater.

Vet inte hur jag ska få det att funka med en LinkButton?

Nu gör jag så här i Repeatern:

	<asp:Repeater ID="MyRepeater1" runat="server">
	<itemtemplate>
		<asp:HyperLink id="HyperLink1" Text='<%# DataBinder.Eval(Container.DataItem, "Forum") %>' NavigateUrl='<%# "meny.aspx?id=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem,"id")) %>' OnPreRender="ok" runat="server" />
	</itemtemplate>
	</asp:Repeater>
NETworkMedlem sedan juni 20011 732 inlägg
#4

Du kan skicka med värden i en linkbutton också, exempelvis så här:

<asp:linkbutton [b]CommandArgument='<%# DataBinder.Eval(Container.DataItem,"id")) %>'[/b] ..>
DinoMedlem sedan sep. 20011 914 inlägg
#5
//.aspx
<asp:Repeater ID="MyRepeater1" runat="server">
   <itemtemplate>
      <asp:LinkButton id="LinkButton2" 
           Text='<%# DataBinder.Eval(Container.DataItem, "Forum") %>'
           CommandArgument='<%# DataBinder.Eval(Container.DataItem,"id") %>'
           Runat="server"/>
   </itemtemplate>
</asp:Repeater>

//.aspx.cs
private void MyRepeater1_ItemCommand(object sender, RepeaterCommandEventArgs e)
{
   LinkButton lbt = (LinkButton)e.CommandSource;
   Response.Write(lbt.CommandArgument);	
}
PDahlenMedlem sedan apr. 2004778 inlägg
#6

Använd Command i din Repeater istället om du inte ska navigera bort till någn annan sida.
Använd LinkButton för din länk/knapp och ge den ett CommandName. Ditt id lägger du i en osynlig Label.
Din Repeater får en OnItemCommand funktion. I den funktionen gör du en FindControl på den osynliga labeln för att få ut id-numret och så databinder du din andra repeater med det.

Har inget färdigt kodexempel jag kan visa och hinner inte sätta ihop något nu men jag rekommenderar att du läser på om Repeater. T.ex. googla på "asp.net repeater onitemcommand" eller kolla på MSDN.

Ett tips till alla är att om ni ska använda en kontroll, t.ex. Repeater, DataGrid, DataList, m.m. så läs på vad som finns tillgängligt i den kontrollen.

PDahlenMedlem sedan apr. 2004778 inlägg
#7

Och där kom ett kodexempel. :)

Ett tips, lägg till ett CommandName också ifall du vill kunna utföra andra saker i din Repeater.

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)