c# - 在一个解决方案中重定向多个项目

标签 c# asp.net .net

在我的 C# Web 应用程序中,我在一个解决方案中有两个不同的项目(“Project1”和“Project2”)。在“Project1”中,我有一个带有按钮的网页,在 OnClick 事件中,我试图捕获 session 变量并重定向到“Project2”中名为“Numbers.aspx”的网页。我将“Project1”设置为包含“Project2”作为依赖项,“Project1”是启动项目。当我运行“Project1”时,它会转到以下网址:

http://localhost:5243/WebpageA.aspx

当我将“Project2”设置为启动项目并运行它时,它会转到以下 url:

http://localhost:5571/Numbers.aspx

在我写的“Project1”中:

Response.Redirect("~/Numbers.aspx");

它说路径无效。我也尝试了以下路径,它说它不存在:

 Response.Redirect("~/Project2/Numbers.aspx");

有没有人对我如何重定向到不同项目中的此网页并从 Project1 捕获 session 变量有任何建议?谢谢!

   //OnClick event
    protected void click(object sender, EventArgs e)
    {
        Session["Variable"] = textBoxName.Text;
    }

最佳答案

要重定向,我建议在您的应用设置中添加一个设置,指定项目 2 的主机:

<appSettings>
    <add key="Project2Host" value="localhost:5571/" />
</appSettings>

现在对于重定向,你可以这样写:

Response.Redirect(Request.Url.Scheme + "://" 
    + ConfigurationManager.AppSettings["Project2Host"] 
    + "Numbers.aspx");

这样,当需要部署到服务器时,您可以(希望)通过简单地将 web.config 中的“Project2Host”设置更改为“MyServer.com/Project2”或其他任何设置来轻松连接它。


对于第二部分,传输 session 变量,也许您可​​以将其作为查询字符串传递?重定向到目标 URL 加上 "?Variable="+ Session["Variable"]。然后在项目 2 中使用 Session["Variable"] = Request.QueryString["Variable"]; 获取它。


作为脚注:如果您计划在两个站点之间共享数据,我会考虑将它们设置为同一 Web 应用程序项目下的单独文件夹/虚拟目录。

关于c# - 在一个解决方案中重定向多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17712503/

相关文章:

c# - ItemDataBound 未触发

asp.net - 您如何向客户部署和管理 C# Web 应用程序,但与您的基础项目存在一些细微差别?

python - 使用 SortedDictionary for .net(从 C# .dll 导入)

c# - 如何在 C# 的 PowerShell.AddParameter 方法中使用 powershell 变量?

c# - 在与此域关联的配置文件中找不到部分 'caSTLe'

c# - 使用前端 Controller 和 IIS 提供静态文件的方法?

c# - WIX-- 自动更新

asp.net - 如何将现有的Azure Web角色转换为新型Azure网站?

c# - 套接字接收挂起

c# - 使用附加模型自动上传文件