我有下面的代碼來檢查,如果我的標籤是用戶喜歡的:Facebook標籤,發現如果喜歡
protected bool IsPageLiked()
{
try
{
var current = ConfigurationManager.GetSection("facebookSettings")
as IFacebookApplication;
dynamic data = FacebookWebContext.Current.SignedRequest.Data;
if (data.page != null)
{
var pageId = (String)data.page.id;
var isUserAdmin = (Boolean)data.page.admin;
var userLikesPage = (Boolean)data.page.liked;
if (userLikesPage)
return true;
}
}
catch (Exception ex)
{
return false;
}
return false;
}
這正常工作,當我最初載入我的標籤。 但是,如果我嘗試和標籤內改變頁面後調用相同的代碼,我得到以下錯誤:
{「前提條件失敗:String.IsNullOrEmpty(signedRequestValue)」}
有一種方法,我可以使這個代碼在第一頁後工作?
我知道我可以檢查標籤的第一頁上的喜歡,並把它放到會話對象或東西,但我不希望這樣做。
我的應用程序本身就是MVC 3
感謝
編輯
我認爲正在發生的事情是,當我改變頁面(我使用RedirectToAction方法),它失去了signed_request查詢字符串,因此我得到的錯誤。
編輯2
不知道上面是正在發生的事情畢竟是我不能看到初始頁面上的任何查詢字符串值?它仍然無法獲得簽名的請求。
它看起來像signed_request是一種形式的對象(的Request.Form [「signed_request」]返回在inital頁的字符串,但不是第二頁)。
我在視圖之間傳遞了signed_request。 – mp3duck