查询字符串无法识别

时间:2014-10-27 11:39:48

标签: c# silverlight-4.0 query-string wcf-ria-services

我必须遵循以下问题:
当我去我的网站时:

http://localhost:9684/MainPage.aspx?UserID=VABRAEIAUgBBAEUARQBBAFAAUQBBAD0A

必须检查是否存在查询字符串(UserID),如果有查询字符串,则必须将其保存在变量sIngelogdID中我使用以下代码:

string sIngelogdID = System.Web.HttpContext.Current.Request.QueryString["UserID"]; 

然而,当我在调试模式下查看时,它表示有0个查询字符串,因此它不会将UserID视为查询字符串。
这是用WCF-RIA服务编写的 有人知道如何实现这个目标吗? 提前谢谢!

编辑:
UserID来自不同的Silverlight 4应用程序。在此应用程序中,用户登录后,必须将登录详细信息(登录用户的ID)传递给另一个Silverlight 4应用程序。如果有另一种方式(更好)的方法来实现这一点,也请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以使用InitParams代替发送值。

首先从托管Silverlight应用程序的aspx页面捕获查询字符串, 在MainPage.aspx.cs

public string GetUserId()
{
    return HttpContext.Current.Request.QueryString["UserId"];
}

现在在MainPage.aspx下你需要在body =>下插入如下代码:形式=>找到参数并添加

<param name="InitParams" value="param1=<%= GetUserId() %>" />

现在以

的形式捕获App.xaml.cs Application_Startup方法中的param1
        if (e.InitParams.ContainsKey("param1"))
        {
            userId = e.InitParams["param1"].ToString();
        }

希望这有帮助