【问题标题】:Run .aspx page, which is 'Added as Link'运行 .aspx 页面,即“添加为链接”
【发布时间】:2015-07-21 23:35:23
【问题描述】:

我在 Visual Studio 中创建了一个名为“MyProject”的项目,并向其中添加了名为“MyPage.aspx”的 .aspx 文件。

现在,我在同一个解决方案中创建了另一个名为“NewProject”的项目。 我使用“添加为链接”选项将“MyProject”中的“MyPage.aspx”添加到新项目中。

现在,如果我将 'NewProject' 作为启动项目,并将 'NewProject' 中的 'MyPage' 作为 Startpage,那么它会显示 找不到资源。

如何做到这一点?

编辑:考虑 MyProject 中的 MyPage 正在从数据库“abc”中获取显示值。数据库“abc”的连接字符串在 Myproject 的 Web.config 中定义 现在我想创建另一个项目,只要我想从数据库'xyz'而不是数据库'abc'中获取数据,我需要与MyPage 相同的功能。我将通过在 NewProject 中为“xyz”添加我的连接字符串来做到这一点

【问题讨论】:

  • 你到底为什么要这么做?
  • 您似乎将快捷方式视为现有项目.. 而不是采用确切的 aspx 文件。
  • 刚刚看到您的编辑。我认为你正在使用错误的方法来实现你想要实现的目标。如果您需要有 2 个具有不同数据库的 Web 项目,只需使用不同的连接字符串部署两次即可。如果您不需要 2 个 Web 项目,只需添加另一个连接字符串并添加一些逻辑来确定您需要使用哪个。

标签: c# asp.net visual-studio webforms


【解决方案1】:

您需要通过添加引用将“MyProject”中的项目引用添加到NewProject。

如果使用 IIS 7 或 IIS 7.5,您可以使用

<system.webServer>
  <defaultDocument>
    <files>
      <clear />
      <add value="MyPage.aspx" />
    </files>
  </defaultDocument>
</system.webServer>

http://www.iis.net/ConfigReference/system.webServer/defaultDocument

或者你可以试试 global.ascx

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Request.Url.AbsolutePath.EndsWith("/"))
        {
            Server.Transfer(Request.Url.AbsolutePath + "MyPage.aspx");
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多