У меня был похожий сценарий, когда мне приходилось создавать кнопку «Мне нравится в Facebook» (с использованием только iframe), и мне не требовалась какая-либо другая сборка, это то, что я в итоге делал:
public static MvcHtmlString FacebookLikeButton(this HtmlHelper htmlHelper, string url, int width = 90, int height = 21, object htmlAttributes = null)
{
var tagBuilder = new TagBuilder("iframe");
var uriBuilder = new UriBuilder("http://www.facebook.com/plugins/like.php");
var nvc = new NameValueCollection
{
{"locale", Thread.CurrentThread.CurrentCulture.ToString().Replace("-", "_")},
{"href", url},
{"layout", "button_count"},
{"show_faces", "true"},
{"width", width.ToString(CultureInfo.InvariantCulture)},
{"height", height.ToString(CultureInfo.InvariantCulture)},
{"action", "like"},
{"colorscheme", "light"},
{"font", "arial"}
};
uriBuilder.Query = string.Join("&", Array.ConvertAll(nvc.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(nvc[key]))));
tagBuilder.MergeAttribute("src", uriBuilder.Uri.AbsoluteUri);
tagBuilder.MergeAttribute("scrolling", "no");
tagBuilder.MergeAttribute("frameborder", "0");
tagBuilder.MergeAttribute("style", string.Format("border:none; overflow:hidden; width:{0}px; height:{1}px;", width, height));
tagBuilder.MergeAttribute("allowTransparency", "true");
if (htmlAttributes != null)
{
tagBuilder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
}
var completeHtml = tagBuilder.ToString(TagRenderMode.Normal);
return new MvcHtmlString(completeHtml);
}
Использование:
@Html.FacebookLikeButton(Model.AbsoluteUrl)
Поскольку этот пост довольно старый, я думаю, вам удалось достичь того, на что вы надеялись, хотя этот пост был первым попаданием, которое я получил при поискетема.