首先,我想就我提出的问题道歉,因为我不知道如何继续这样做
我使用vb在asp.net中创建一个网站,我遇到了问题。
我创建了一个数据库来显示带有页面位置的菜单名称。
我在根文件夹/ Pages中创建了一个文件夹调用/ Pages / MasterPages,其中主页设计进入该页面,而普通的浏览页面位于根文件夹中
我还有一个名为/ Pages / Admin的文件夹,其中该网站的CMS进入该文件夹。
现在我有以下代码调用数据库中的菜单项
<asp:Repeater ID="_menuDisplay" runat="server">
<HeaderTemplate>
<table id="navigation" border="0">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="Hyperlink" runat="server" NavigateUrl=<%# Container.DataItem("pageName") %>><%# Container.DataItem("menuName")%></asp:HyperLink> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Container.DataItem(“pageName”)显示页面/ home.aspx Container.DataItem(“menuName”)显示Home(home.aspx页面的名称)
以上代码位于母版页
中执行时,Internet Explorer上的页面名称显示pages / masterpage / pages / home.aspx,它应该只显示pages / home.aspx
请帮忙
此致
Leroy M
答案 0 :(得分:0)
尝试这样的事情
1:在页面后面的代码中创建一个公共函数。 即。
Public Function ResolveUrl(objValue as object) as String
Dim sPath as String = Page.ResolveUrl(cstr(objValue))
Return sPath
End Function
2:更改网页中的代码:
NavigateUrl=<%# ResolveUrl(Container.DataItem("pageName")) %>
3:确保您的页面名称格式为“〜/ FolderPath / File.aspx ”〜告诉asp.net引擎从您的解决方案的根目录映射页面。< / p>
希望这有帮助。