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

时间:2013-07-26 10:48:30

标签: c# javascript html asp.net

在一个解决方案中有两个项目,如何在不同项目的菜单项中为Navigate URL属性绑定网页(.aspx)。我需要访问一个项目中的菜单项到另一个项目的aspx页面。 我无法通过选择pick url

来做到这一点

如何从不同的项目访问其他项目网页(.aspx)。我想从asp:menu导航到不同项目中的页面。这两个项目是同一个解决方案。 NavigateURL =“〜 * ”我正在使用它,如果它在同一个项目中,我需要在不同的项目中映射网页

2 个答案:

答案 0 :(得分:0)

使用此:

string Path = Request.Url.GetLeftPart(UriPartial.Authority) +
       VirtualPathUtility.ToAbsolute("~/");

路径将包含您当前的localhost / CurrentOpenedProject,将其替换为Project required 使用:

   Path = Path.Replace("CurrentOpenedProject", "RequiredProject");

您可以将此添加到menuItem,如下所示:

   for(int i = 0; i < Menu1.Items.Count;i++){
        Menu1.Items[i].NavigateUrl = Path;
    }

答案 1 :(得分:0)

您应该明白,如果您引用同一网站的网页(在您的情况下是解决方案中的项目),那么您可以提供相对网址。喜欢

  

MyFolder文件/ abc.aspx

OR

  

〜/ MyFolder文件/ abc.aspx

相对网址:相对网址更方便,因为它们更短,而且更便于携带。但是,您只能将它们用于引用与包含它们的页面相同的服务器上的链接。

如果你的项目外有一个页面(在你的情况下是同一个解决方案中的另一个项目),你需要提供绝对的网址,如

http://myserver/mysite/abc.aspx

绝对网址:绝对网址包含查找资源所需的所有信息。

请注意“〜”仅用于相对网址而非绝对网址。

在进行实际部署时,您需要将它们托管为两个单独的网站,但在开发过程中,您仍然可以使用解决方案配置“启动项目”选项同时运行两个网站/应用程序,并将端口固定在项目的配置。