Ich benutze eine Teilansicht, um die Benutzer die Gesamtzahl der Elemente, die sie in meiner Anwendung haben, zu rendern. Ich habe dies zur Zeit auf meiner Masterseite:SDK-Äquivalent für Html.Action
<%= Html.Action("MyItemsTotal", "Home") %>
In meiner Heimat Controller ich habe diese Aktion Methode:
[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();
}
Das Problem ist, dass app.Session null ist, obwohl vor dem Laden Seite I Url.CanvasAction so meine uRL im Browser verwende sieht wie folgt aus:
http://apps.facebook.com/mysite/Home
ich thou ght, dass die Benutzersitzung beibehalten wurde, solange ich innerhalb der Facebook-Domain bleibe (d. h. apps.facebook.com) ...?
Ich verwendete Html.Action vor, aber seit der Installation der neuesten Version des SDK (v 4.1.1) funktioniert es nicht mehr ... hat sich etwas in der neuesten Version geändert, um zu verhindern, dass Html.Action jetzt funktioniert? ??
Gibt es ein Äquivalent zu Html.Action zum Beispiel Html.CanvasAction, das ich zum Rendern von Teilansichten verwenden kann? (Natürlich gibt es nicht einen dort ...)
Grüße, Rob
Hallo Nathan, Die einzigen Klassen, die ich habe, sind CanvasLinkExtensions.cs und CanvasUrlExtensions.cs gefunden, dass jede Ähnlichkeit mit ASP.Net des Html.Action Methode geben. Sprechen wir über das Gleiche hier, Nathan? Sie wissen natürlich, dass Html.Action ein vorgerenderter Prozess für Teiltöne ist, richtig? Nicht nur ein Link Generator ... Ich habe alle Klassen in allen Projekten gesucht und ich denke, Sie haben das Äquivalent zu Html.Action, d. H. Html.CanvasAction vergessen. Bitte beraten ... –
Html.Action ist das Äquivalent in Asp.Net Webforms zu einem User Control übrigens :-) –