none
...seiner Schutzstufe möglicherweise nicht zugegriffen werden RRS feed

  • Frage

  • Hi, ich habe auf meiner Masterpage einen simplen Hyperlink eingefügt. Ich will nun Codebehind (innerhalb der Masterpage) drauf zugreifen.

     Registerlink.text = "Jetzt registrieren!"
     Registerlink.navigateurl = "~/Register.aspx"

    Ich bekomme aber immer folgenden Fehler. Kann ich nicht direkt auf das Objekt zugreifen? Klappt das nur mit Findcontrol?
    Fehler 145 "Registerlink" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. 

    Montag, 26. Juli 2010 19:48

Alle Antworten

  • Hallo Thomas,

    Hi, ich habe auf meiner Masterpage einen simplen Hyperlink eingefügt.

    zeig doch mal bitte die Deklaration der MasterPage (ggfs. einfach mal eine neue machen, die nur den HyperLink enthält)
    Ich will nun Codebehind (innerhalb der Masterpage) drauf zugreifen.

    Registerlink.text = "Jetzt registrieren!"
    Registerlink.navigateurl = "~/Register.aspx"

    Das sollte klappen, wenn das Control nicht in einem anderen Control enthalten ist, welches dafür sorgt, dass der HyperLink eben nicht direkt in der MasterPage verfügbar ist.

    Wenn da bspw. ein PlaceHolder, Panel, ... drum rum ist, geht das problemlos. Wenn der Link aber im ItemTemplate eines Repeaters stecken würde, verständlicherweise nicht.

    Ich bekomme aber immer folgenden Fehler. Kann ich nicht direkt auf das Objekt zugreifen? Klappt das nur mit Findcontrol?
    Fehler 145 "Registerlink" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. 


    Kommt das zur Laufzeit oder schon bei der Entwicklung?

    Poste doch mal bitte ein vollständiges Beispiel (also MasterPage, nur mit den relevanten Teilen) und den Code dazu.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Dienstag, 27. Juli 2010 17:31
    Moderator
  • Hi, Teile der Masterpage
        
      <div class="page_margins">
      <div class="page">
        <div id="header">
          <div id="topnav">      
             
           <ul id="cssMenu" class="istylem0">
          
             
     <asp:HyperLink ID="Registerlink" runat="server" Visible="true">Register</asp:HyperLink>
     
     

      Registerlink.Text = "Jetzt registrieren!"
                Registerlink.NavigateUrl = "~/Register.aspx"
                Registerlink.Visible = True


    Registerlink wird schon unterstrichen.
    Hmm 1000 mal gemacht und auf mal kommt ein Fehler den man sich nicht erklären kann.

    Dienstag, 27. Juli 2010 17:55
  • Hallo Thomas,

    <asp:HyperLink ID="Registerlink" runat="server" Visible="true">Register</asp:HyperLink>

    Registerlink wird schon unterstrichen.
    Hmm 1000 mal gemacht und auf mal kommt ein Fehler den man sich nicht erklären kann.

    schau mal bitte in der <Datei>.master.designer.vb, ob das RegisterLink Steuerelement auch wirklich dort eingetragen ist. Manchmal hat VS einen "Schluckauf" (meist dann, wenn irgendwo noch ein Fehler in der Anwendung existiert, der aber nicht zwingend als Fehler in der IDE ausgegeben wird) und registriert die Controls nicht korrekt.

    Füg auch mal bitte einfach ein weiteres Control (HyperLink, Label, ...) direkt hinter dem Registerlink Control hinzu und schau, ob Du das ansprechen kannst.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Dienstag, 27. Juli 2010 18:13
    Moderator