私はアプリケーションにあるアイテムの総数をユーザーに表示するために部分ビューを使用しています。私は現在、私のマスターページ上でこれを持っている:Html.Actionに相当するSDK
私のホームコントローラで<%= Html.Action("MyItemsTotal", "Home") %>
私が持っているこのアクションメソッド:
[ChildActionOnly]
public ActionResult MyItemsTotal()
{
FacebookApp app = new FacebookApp();
ViewData["count"] = "0";
int count = 0;
if (app.Session != null)
count = (from i in db.Items
where i.UserID == app.Session.UserId &&
i.Status != "D"
select i).Count();
if (count > 0)
ViewData["count"] = count.ToString("#,#");
return PartialView();
}
問題はapp.Sessionにもかかわらず、ロードする前にnullであるということですページブラウザで私のURLは次のようになりますので、私はUrl.CanvasActionを使用しています:私は汝
http://apps.facebook.com/mysite/Home
私はFacebookのドメイン内にいる限り、ユーザーのセッションは維持されていますか? apps.facebook.com)...?
私はHtml.Actionを使用していましたが、SDKの最新バージョン(v 4.1.1)をインストールして以来、もはや動作していません... Html.Actionが動作しないように最新バージョンで何かが変更されましたか? ??
Html.Actionと同等のものがあります。たとえば、部分ビューのレンダリングに使用できるHtml.CanvasActionはありますか? (明らかに...そこに1がない)
よろしく、 ロブ
こんにちはネイサン、 私が見つけた唯一のクラスは、ASP.NetのHtml.Actionメソッドに任意の類似点を与えCanvasLinkExtensions.csとCanvasUrlExtensions.csです。私たちはここで同じことを話していますか?あなたは、Html.Actionが部分的な部分のための事前レンダリングされたプロセスであることは明らかです。単なるリンクジェネレータではありません... 私はすべてのプロジェクトのすべてのクラスを検索しました。あなたはHtml.Action、つまりHtml.CanvasActionに相当するものを忘れてしまったと思います。 助言してください... –
Html.Actionは、Asp.Net Webformsと同等の方法でUser Controlに対応しています:-) –