/// <summary> /// Wraps facebook registration script /// http://developers.facebook.com/docs/plugins/registration/ /// </summary> /// <param name="onFinishUrl"></param> /// <param name="registrationFields">should serialize like the fields parameter passed to facebook's registration url.</param> /// <returns></returns> public static IHtmlString ShowIframe( AppSettingConfig config, string onFinishUrl, object registrationFields, object iframeAttributes) { var scriptUrlQuerystring = new QuerystringParameters(); scriptUrlQuerystring.Add("client_id", config.FacebookApplicationId); scriptUrlQuerystring.Add("redirect_uri", onFinishUrl); scriptUrlQuerystring.Add("fields", Newtonsoft.Json.JsonConvert.SerializeObject(registrationFields)); var iframe = new XElement("iframe"); iframe.SetAttributeValue("src", "https://www.facebook.com/plugins/registration.php?" + scriptUrlQuerystring.AsQuerystring()); foreach (var iframeProperty in iframeAttributes.GetPropertyValues()) { iframe.SetAttributeValue(iframeProperty.Key, iframeProperty.Value); } return new HtmlString(iframe.ToString()); }
public static IHtmlString LoadSDK(AppSettingConfig config) { return new HtmlString(@" <div id='fb-root'></div> <script type='text/javascript'> window.fbAsyncInit = function() { FB.init({ appId : '" + config.FacebookApplicationId + @"', status : true, cookie : true, xfbml : true, oauth : true, }); }; (function(d){ var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = '//connect.facebook.net/en_US/all.js'; d.getElementById('fb-root').appendChild(js); })(document); </script> "); }