[ASP.NET (VB)]Controls niet gedeclareerd in PageTemplate

Pagina: 1
Acties:

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 14:52

Arethusa

Niet die server

Topicstarter
Ik heb de volgende code:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<PagerTemplate>
    &nbsp; &nbsp; &nbsp;<asp:linkbutton id="Firstbutton" SkinID="NavButtons" Text="<< Eerste pagina"
                        CommandArgument="0" runat="server" 
                        onClick="PagerButtonClick" EnableViewState="False" />

    <asp:Label ID="lblPageCount" EnableViewState="False" Runat="server" Font-Size="XX-Small"/>
    <asp:linkbutton id="Prevbutton" SkinID="NavButtons" Text= "< Vorige" 
                        CommandArgument="Vorige" runat="server" 
                        onClick="PagerButtonClick" EnableViewState="False" />
   
   <asp:linkbutton id="Lastbutton" SkinID="NavButtons" Text="Laatste pagina >>"
                        CommandArgument="Laatste" runat="server" 
                        onClick="PagerButtonClick" EnableViewState="False" />
   
   <asp:linkbutton id="Nextbutton" SkinID="NavButtons" Text= "Volgende >"
                        CommandArgument="Volgende" runat="server" 
                        onClick="PagerButtonClick" EnableViewState="False" />&nbsp;&nbsp;
    &nbsp; &nbsp;&nbsp;
</PagerTemplate>


Zoals je ziet staat er servercontrols in de template. Deze template is onderdeel van de Gridview. Code voor deze buttons zijn in code behind vermeld.


Ik beeld hier alleen code voor PrevButton af, de rest van de code is niet van belang:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
    Sub Prev_Buttons()
        Dim PrevSet As String

        If grdSearch.PageIndex + 1 <> 1 And ResultCount <> -1 Then
            PrevSet = grdSearch.PageSize
            Prevbutton.Text = ("< Vorige pagina") '& PrevSet) '

            If grdSearch.PageIndex + 1 = grdSearch.PageCount Then
                Firstbutton.Text = ("<< Eerste pagina")
            End If
        End If
    End Sub


Ik zou gebruik kunnen maken van het feit dat asp.net ingebouwde navigatie levert maar daar heb ik vanwege het uniformeel houden van mijn programma niet voor kozen. Reden hiervoor is ook dat ik problemen heb wat betrefd navigatie en select queries met variabelen. Ik ben net begonnen met het navigatie gedeelte dus weie weet haal ik die problemen eruit en maak ik alsnog gebruik van de ingebouwde functies. Maar dit terzijde.

Normaal gezien maakt ASP.NET de koppeling van code-behind naar de source code/html. Dit keer echter niet. De controls worden niet herkend. Ik krijg de melding: "Name Prevbutton is not declared".


Kan iemand me verklaren waarom ik deze custom navigatie niet in de PagerTemplate kan plaatsen?

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • lier
  • Registratie: Januari 2004
  • Laatst online: 14:45

lier

MikroTik nerd

Waar staat je Prevbutton dan of waar wil je hem plaatsen ?
Dat zie ik niet in je code voorbeelden...

Eerst het probleem, dan de oplossing


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:43

mulder

ik spuug op het trottoir

Als je de servercontrols handmatig aan de HTML(de aspx) hebt toegevoegd, is er geen declaratie in de aspx.cs aangemaakt. Gebruik je designmode dan word dat automagisch gedaan.

Wat je moet doen in de codebehind is de LinkButton declareren
C#:
1
protected System.Web.Controls.UI.LinkButton PrevButton;

(Weet niet of de namespace goed is, uut heufd)

[ Voor 6% gewijzigd door mulder op 16-06-2006 14:24 ]

oogjes open, snaveltjes dicht


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 14:52

Arethusa

Niet die server

Topicstarter
@lier: Mijn prevbutton is een aparte sub en staat in vertaling.aspx.vb. Ik wil hem plaatsen in de PagerTemplate van mijn GridView.

@Don Facundo, delecraren is inderdaad een optie. Maar waarom werken controls die ik eerst in *.aspx en dan code in code behind toevoeg wel en andersom niet? Het lijkt wel alsof de eerste methode wel een koppeling maakt en de 2e niet. Ik kan hier natuurlijk naast zitten en zal je tip eens toepassen.


Edit: Declareren van de knoppen heeft het ongemak opgelost. Ik begrijp niet hoe ik dat over het hoofd heb kunnen zien. Dit zal de eerste en de laatste keer zijn dat ik deze fout maak. Bedankt!

[ Voor 27% gewijzigd door Arethusa op 16-06-2006 14:58 ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs