C# 无法识别查询字符串

C# 无法识别查询字符串,c#,silverlight-4.0,query-string,wcf-ria-services,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"];

我必须解决以下问题:
当我访问我的站点时:

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应用程序。如果有其他(更好的)方法来实现这一点,也请让我知道。

您可以使用它来发送值

首先从承载silverlight应用程序的aspx页面捕获查询字符串, 在MainPage.aspx.cs中

public string GetUserId()
{
    return HttpContext.Current.Request.QueryString["UserId"];
}
现在,在MainPage.aspx下,您需要在body=>form=>find param和add下插入代码,如下所示

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

希望这能有所帮助

您能再给我解释一下InitParms以及我将如何使用它吗?此外,用户ID必须来自不同的Silverlight应用程序,用户在该应用程序上登录,然后登录详细信息应转到其他系统。您能解释一下您的问题吗。您是否在承载silverlight应用程序的aspx页面或silverlight XAML页面中未获取查询字符串。如果您试图在aspx页面中获取查询字符串值,则您完成的方法应该有效。请告诉我,我将为您提供将值从aspx页面传递到XAML页面的方法。再次感谢您的支持回应,(我的项目名为“MeldingenPortal”)我担心我的MainPage.aspx(在我的例子中是“MeldingenPortal.aspx”(项目名称,对吗?),它是MeldingenPortal.Web中的一个。但是我有一个MainPage,但这是正常的解决方案(MeldingenPortal)该主页是MainPage.xaml。但是在meldingenportal.web中,是meldingenportal.aspx文件(即启动文件)不包含meldingenportal.aspx.cs文件,是否正确?因为我似乎无法找到MainPage.aspx.csI尝试手动添加meldingenportal.aspx.cs并在其中添加代码,然后在自动事件后将代码连接到meldingenportal.aspx.cs顶部但是它仍然说它无法识别meldingenportal.aspx中的GetUserId(),只是尝试用替换,效果很好!+1感谢您的帮助!非常感谢您!
        if (e.InitParams.ContainsKey("param1"))
        {
            userId = e.InitParams["param1"].ToString();
        }