如何将菜单项绑定到同一解决方案中的另一个项目

how to bind menuitem to another project in same solution

本文关键字:解决方案 另一个 项目 菜单项 绑定      更新时间:2023-09-26

一个解决方案中有两个项目,如何为不同项目中菜单项中的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;
    }
相关文章: