2014-10-27 121 views
0

我有以下問題:
當我去我的網站:查詢字符串無法識別

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

它檢查是否有查詢字符串(用戶名),如果有一個查詢字符串它有將其保存在變量sIngelogdID我期運用這個下面的代碼:

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

然而,當我看着它,它說,有0查詢字符串調試模式,所以它不會看到UserID作爲查詢字符串。
這是用WCF-RIA服務編寫的。
有沒有人有一個想法如何實現這一目標?
在此先感謝!編輯:
UserID來自不同的Silverlight 4應用程序。在此應用程序中,用戶登錄後必須將登錄詳細信息(登錄用戶的Id)傳遞給另一個Silverlight 4應用程序。如果有另一種方式(更好)的方式來實現這一點,也請讓我知道。

回答

1

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

首先捕獲從託管Silverlight應用程序, 在MainPage.aspx.cs

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

現在MainPage.aspx下,你需要在身體=>形式如下插入代碼aspx頁面查詢字符串= >找到PARAM並添加

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

現在捕捉到App.xaml.cs Application_Startup方法參數1爲

 if (e.InitParams.ContainsKey("param1")) 
     { 
      userId = e.InitParams["param1"].ToString(); 
     } 

希望這會有所幫助

+0

您能否介紹一下我有關InitParms的更多信息,以及如何使用它?此外,用戶標識必須來自不同的Silverlight應用程序,用戶登錄後才能登錄其他系統。 – Dave 2014-10-29 09:19:11

+0

你能解釋一下你的問題嗎?你是否沒有在aspx頁面中託管你的silverlight應用程序或在你的silverlight XAML頁面中查詢字符串。如果你試圖在aspx頁面中獲取querystring值,那麼你所做的方法應該工作o/w讓我知道我將爲您提供將值從aspx頁面傳遞到Xaml頁面的方式。 – Zafar 2014-10-30 06:14:42

+0

請參閱我編輯的答案。 – Zafar 2014-10-30 06:31:57