Avatar billede SommerFyr Seniormester
26. marts 2018 - 12:43 Der er 1 kommentar og
1 løsning

Min egen Control

Hej jeg er i gang med at lave en control til en ven, og har et lille ønske jeg ikke helt kan finde ud af hvordan jeg skal gøre..

Han ønsker at have links

<zt:menu id="menu" runat="server" href="/profil.aspx">
<MenuItems>
    <Menu href="/" role="test">menuA</Menu>
    <Menu href="/test.aspx" role="test">menuB</Menu>
  </MenuItems>
</zt:menu>

Det skal så give
<ul><li><a href="/profil.aspx">Medarbejdesnvn</a>
<ul>
<li><a href="/">MenuA</a></li>
<li><a href="/test.aspx">MenuB</a></li>
</ul>
</li>
</ul>

Det jeg ikke kan finde ud af hvordan jeg laver sådan MenuItems og Menu del
Avatar billede SommerFyr Seniormester
29. marts 2018 - 20:49 #1
Så er jeg selv komme lidt vider men det driller mig dog nok håber det kan give lidt hjælp her fra

Imports System.ComponentModel

<Assembly: TagPrefix("UserMenu.Controls", "UserMenu")>
Namespace Controls

    <TypeConverter(GetType(ExpandableObjectConverter))> _
    Public Class Links
        Private _LinkTitle As String
        Private _LinkUrl As String
        Private _LinkRole As String

        Public Sub New()
            Me.New(String.Empty, String.Empty, String.Empty)
        End Sub

        Public Sub New(ByVal LinkTitle As String, ByVal LinkUrl As String, ByVal LinkRole As String)
            _LinkTitle = LinkTitle
            _LinkUrl = LinkUrl
            _LinkRole = LinkRole
        End Sub

        <Category("Behavior"), DefaultValue(""), Description("Title"), NotifyParentProperty(True)> _
        Public Property LinkTitle() As String
            Get
                Return _LinkTitle
            End Get
            Set(value As String)
                _LinkTitle = value
            End Set
        End Property

        <Category("Behavior"), DefaultValue(""), Description("Url"), NotifyParentProperty(True)> _
        Public Property LinkUrl() As String
            Get
                Return _LinkUrl
            End Get
            Set(value As String)
                _LinkUrl = value
            End Set
        End Property

        <Category("Behavior"), DefaultValue(""), Description("Role"), NotifyParentProperty(True)> _
        Public Property LinkRole() As String
            Get
                Return _LinkRole
            End Get
            Set(value As String)
                _LinkRole = value
            End Set
        End Property



    End Class

    <DefaultProperty("Links"), ParseChildren(True, "Links"), ToolboxData("<{0}:UserNameMenu runat=""server""> </{0}:UserNameMenu>")> _
    Public Class UserNameMenu
        Inherits CompositeControl

        Private lnkUserName As New HyperLink
        Private lnkUserLogout As New LinkButton

        Private LinksList As ArrayList

        <Category("Behavior"), Description("The contacts collection"), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerDefaultProperty)> _
        Public ReadOnly Property Links() As ArrayList
            Get
                If LinksList Is Nothing Then
                    LinksList = New ArrayList
                End If
                Return LinksList
            End Get
        End Property


        Protected Overrides Sub CreateChildControls()
            Controls.Clear()
            lnkUserName.Text = My.User.Name.ToString
            lnkUserName.NavigateUrl = "/default.aspx"
            Controls.Add(lnkUserName)
            lnkUserLogout.Text = "Log af"
            Controls.Add(lnkUserLogout)
            AddHandler lnkUserLogout.Click, AddressOf UserLogout_Click
        End Sub

        Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
            writer.WriteBeginTag("ul>")
            writer.WriteBeginTag("li>")
            lnkUserName.RenderControl(writer)

            If (LinksList IsNot Nothing) AndAlso (LinksList.Count > 0) Then
                For Each item As Links In LinksList
                    Dim LinksItem As Links = TryCast(item, Links)
                    If LinksItem IsNot Nothing Then
'Her skal den så indsætte links til brugernavn..
                    End If
                Next
            End If

            writer.WriteEndTag("li")
            writer.WriteBeginTag("li>")
            lnkUserLogout.RenderControl(writer)
            writer.WriteEndTag("li")
            writer.WriteEndTag("ul")
        End Sub

        Private Sub UserLogout_Click(sender As Object, e As EventArgs)
            'Throw New NotImplementedException
            FormsAuthentication.SignOut()
            FormsAuthentication.RedirectToLoginPage()
        End Sub
    End Class
End Namespace
Avatar billede SommerFyr Seniormester
24. januar 2019 - 09:08 #2
Lukket da jeg ikke kom vider
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester