Hej! Hej Fredrik!Problem med en DataListmeny i en UserControl
Jag har en default.aspx-sida, som är ganska basic. En enkel sida med en tabell bestående av ett sidhuvud, en sidfot, en meny till vänster och till höger presenteras innehållet.
I varje tabellcell finns det en förutbestämd User Control, utom i presentationsdelen. Där ska en User Control laddas in dynamiskt.
Problemet jag har är att DataListmenyn till vänster skickar med filändelsen .ascx till min Querystring. Så att den ser ut så här: default.aspx?page=news.ascx. Detta fungerar ju såklart inte. ;) Hur gör jag, för att undvika att filländelsen skickas med?
Koden ser ut enligt följande...
Dim objConn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=G:\Webben\test2\db\db.mdb")
Dim objCmd As OleDbCommand
Dim objRdr As OleDbDataReader
Sub BindData()
objConn.Open()
objCmd = New OleDbCommand("SELECT * FROM menu", objConn)
objRdr = objCmd.ExecuteReader()
dlmenu.DataSource = objRdr
dlmenu.DataBind()
objRdr.Close()
objConn.Close()
End Sub
Sub Page_Load()
If Not IsPostBack Then
BindData()
End If
End Sub
...och DataListen enligt följande...
<asp:DataList id="dlMenu" runat="server" CSSclass="extlinks">
<ItemTemplate>
<asp:Hyperlink id="dlMenuItem" NavigateURL='<%# "default.aspx?page=" + DataBinder.Eval(Container.DataItem, "link") %>' Text='<%# DataBinder.Eval(Container.DataItem, "menuName") %>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:DataList>
Vad är det jag ska lägga till och var ska jag lägga till det? Tacksam om någon kunde hjälpa mig och kanske skriva en kodrad.
Tack på förhand!
/Fredrik
Sv: Problem med en DataListmeny i en UserControl
Använd strängfunktioner, typ:
NavigateUrl='<%# "default.aspx?page=" + DataBinder.Eval(Container.DataItem, "link").ToString().Replace(".ascx", "") %>'
Mvh
/Marina