2009-08-12 7 views
0

Herumspielen mit dem Erscheinen des Wizard-Steuerelement in ASP.Net Customizing, und ich habe herausgefunden, wie die Seitenleiste Tasten mit der SideBarTemplate deaktivieren und die OnItemDataBound Ereignis zu kontrollieren. Alles ziemlich einfach. Was ich jetzt tun möchte, ist den Text des gerenderten LinkButtons so zu modifizieren, dass der Schrittname mit etwas wie ">>" für den aktuellen Schritt vorangestellt wird.Einstellung Linkbutton Titel in ASP.Net Wizard Sidebar Vorlage

in meinem ItemDataBound Ereignishandler für das SideBarList, ich habe also den folgenden Code:

Dim stepCurrent As WizardStep = e.Item.DataItem 
    Dim linkCurrent As LinkButton = e.Item.FindControl("SideBarButton") 
    If Not stepCurrent Is Nothing Then 
     Trace.Write("SideBar", "Current Step = " & stepCurrent.Wizard.ActiveStep.Name) 
     Trace.Write("Sidebar", "Link Button = " & linkCurrent.Text) 
     linkCurrent.Enabled = False 
     If stepCurrent.Wizard.ActiveStepIndex = e.Item.ItemIndex Then 
      linkCurrent.Style.Add(HtmlTextWriterStyle.Color, "#000000") 
      linkCurrent.Style.Add(HtmlTextWriterStyle.FontWeight, "bold") 
      linkCurrent.Text.Insert(0, ">> ") 
     End If 
    End If 

Doch was ich finde, ist die Trace-Ausgabe eine leere Zeichenfolge für den lunkbutton Text angezeigt wird, aber der Stil Änderungen funktionieren.

Mache ich den Text an der falschen Stelle?

Dank

Antwort

3

Ich habe keine Möglichkeit finden, „SideBarButton“ text-Eigenschaft zu ändern, warum ich Steuerung einen anderen Link-Button in SelectedItemTemplate zu Datalist und setzen visible = „Fasle“ in SideBarButton hinzugefügt wird. SelectedItemTemplate wird zum Rendern des Elements in der Seitenleiste für den aktuellen Schritt des Assistenten verwendet.


    <ItemTemplate> 
     <asp:LinkButton ID="SideBarButton" runat="server"/> 
    </ItemTemplate> 
    <SelectedItemTemplate> 
     <asp:LinkButton ID="ActiveSideBarButton" runat="server"> 
     <asp:LinkButton Visible="false" ID="SideBarButton"unat="server"/> 
    </SelectedItemTemplate> 

In OnItemDataBound Fall etwas tun, wie


Dim stepCurrent As WizardStep = e.Item.DataItem 
If stepCurrent.Wizard.ActiveStepIndex = e.Item.ItemIndex Then 
    Dim linkCurrent As LinkButton = e.Item.FindControl("ActiveSideBarButton") 
    linkCurrent.Style.Add(HtmlTextWriterStyle.Color, "#000000") 
    linkCurrent.Style.Add(HtmlTextWriterStyle.FontWeight, "bold") 
    LinkCurrent.Text = stepCurrent.Title; 
    linkCurrent.Text.Insert(0, ">> ") 
End If 

SideBarButton nicht wegen sichtbar gemacht werden = „false“ und nur ActiveSideBarButton für aktuellen Schritt werden Sie müssen mit den Parametern gemacht werden.

Verwandte Themen