예제 #1
0
        /// <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());
        }
예제 #2
0
        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>

            ");
        }