如何将菜单项绑定到同一解决方案中的另一个项目
本文关键字:解决方案 另一个 项目 菜单项 绑定 | 更新日期: 2023-09-27 18:24:58
一个解决方案中有两个项目,如何为不同项目中菜单项中的Navigate URL属性绑定网页(.aspx)。我需要访问一个项目中的菜单项到另一个项目aspx页面。我无法通过选择在pick url 来做到这一点
如何从不同的项目访问其他项目网页(.aspx)。我想从asp:menu导航到不同项目中的页面。这两个项目的解决方案相同。NavigateURL="~*"我正在使用,如果它在同一个项目中,并且我需要映射不同项目中的网页
您应该明白,如果您引用来自同一网站的页面(在您的情况下是解决方案中的项目),那么您可以提供一个相对URL。像
Myfolder/abc.aspx
或
~/Myfolder/abc.aspx
相对URL:相对URL更方便,因为它们更短,而且通常更便携。但是,您只能使用它们来引用与包含它们的页面位于同一服务器上的链接
如果页面在您的项目之外(在您的情况下,同一解决方案中的另一个项目),您需要提供类似的绝对url
http://myserver/mysite/abc.aspx
绝对URL:绝对URL包含定位资源所需的所有信息
请注意"~"仅与相对URL一起使用,而不与绝对URL一起使用。
在进行实际部署时,您需要将它们作为两个独立的网站托管,但在开发时,您仍然可以同时运行两个网站/应用程序,使用解决方案配置"启动项目"选项作为多个,并通过修复项目配置中的端口。
使用此:
string Path = Request.Url.GetLeftPart(UriPartial.Authority) +
VirtualPathUtility.ToAbsolute("~/");
路径将包含您当前的localhost/CurrentOpenedProject,将其替换为Project required通过使用:
Path = Path.Replace("CurrentOpenedProject", "RequiredProject");
您可以将其添加到菜单项中,如下所示:
for(int i = 0; i < Menu1.Items.Count;i++){
Menu1.Items[i].NavigateUrl = Path;
}