我必须遵循以下问题:
当我去我的网站时:
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应用程序。如果有另一种方式(更好)的方法来实现这一点,也请告诉我。
答案 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();
}
希望这有帮助