来自IIS的QueryString的同一网站的多个页面

时间:2014-08-12 11:35:03

标签: c# asp.net iis deployment request.querystring

我在部署Web应用程序时遇到了一个问题(IIS中的asp.net c#)。我所拥有的是两个DB的单个应用程序。所以,通过查询字符串,我在主页面中确定连接字符串。

我的问题是,我有两个链接,每个链接都有单独的QS,当点击时,应该导致相同应用程序的相应版本。这是好的,现在一次使用一个。但是当并排使用时,它们会生成相同的数据库应用程序,作为第一个打开的URL的副本(我猜这是基于服务器会话)。

有关如何实现这一目标的任何建议?感谢您的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

我假设目前的想法是用户将点击页面上的链接,这将把它们重定向到另一个页面,并在此页面上创建基于查询字符串的数据库连接。

为什么不存储点击会话变量的链接,然后您可以在您重定向到的页面上访问该变量并从中创建数据库链接。如果你正在使用链接按钮或其他类似的东西:

主页

ASP.NET:

<asp:LinkButton ID="lnkButton1" Text="Link Button 1" OnClick="lnkMyButton_Clicked" runat="server" />
<asp:LinkButton ID="lnkButton2" Text="Link Button 2" OnClick="lnkMyButton_Clicked" runat="server" />

C#

protected void lnkMyButton_Clicked(object sender, EventArgs e)
{
     LinkButton lnkButton = (LinkButton)sender;
     Session["LinkID"] = lnkButton.ID;

     Response.Redirect("MyNewPage.aspx"); 
}

在新页面上:

protected void Page_Load(object sender, EventArgs e)
{
    string LinkID = Session["LinkID"];

    if(!String.IsNullorEmpty(LinkID))
    {
        if(LinkID == "lnkButton1") //create connection if first link clicked
        else if(LinkID == "lnkButton2") //create connection if second link is clicked
        else //handle error
    }
    else //handle null or empty string
}

我没有对此进行过测试,但如果它不起作用,请告诉我。