2011-08-11 9 views
1

私はFacebookのコメントなどのボックスを使用していますが、ボタンは機能しません。私がsublayoutを追加したいとき、私は "エラーが発生しました"というメッセージを受け取ります。ログを確認しました。例外メッセージはFacebook Like Button for Sitecore

です。

好きなボタンはフォントがありますが削除しましたが、同じエラーが表示されます。誰もがsublayoutで

その私を助けることができる、Sublayout

ascx side; 

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<asp:Literal runat="server" ID="fbLikeButton"></asp:Literal> 

ascx.cs side; 

Sublayout slb = (Sublayout)this.Parent; 
System.Collections.Specialized.NameValueCollection parameters = Sitecore.Web.WebUtil.ParseUrlParameters(slb.Parameters); 
fbLikeButton.Text = "<fb:like href=\""; 
fbLikeButton.Text += parameters["Url"]; 
fbLikeButton.Text += "\" send=\"true"; 
fbLikeButton.Text += "\" width=\""; 
fbLikeButton.Text += parameters["Width"]; 
fbLikeButton.Text += "\" show_faces=\"true"; 
fbLikeButton.Text += "\" action=\"like"; 
//fbLikeButton.Text += "\" font=\""; 
//fbLikeButton.Text += parameters["Font"]; 
fbLikeButton.Text += "\"></fb:like>"; 
+1

Likeボタンのコードを投稿してください。それはWebControl、Sublayout、XSLT、または直接レイアウト内にありますか? –

答えて

0

はあなたのascxファイルは、フォントのプロパティを持っていますか? Sitecoreは、Fontパラメータの存在に基づいて、そのプロパティの値を設定するためにリフレクションを使用しようとしているようです。パラメータに別の名前を使用するか、フォントプロパティを書き込み可能にします。

1

私はFacebookとの統合をやったことがない、しかし...私はここに推測をあげる:

<fb:like>は何?それは確かに有効なHTMLタグではありません...あなたはaspリテラルの内容でサーバータグを出力しようとしているようですが、これは動作しません。 ASP.NETはコードを1回だけ解析するので、ascxで明示的に定義されていなければコントロールをインスタンス化できません。 ASCXにこのような何かを、あなたがどこかにコントロールとして定義していると仮定:

<fb:like runat="server" send="true" action="like" width=<%=GetParameter("Width")%> href=<%=GetParameter("Url")%>></fb:like> 

そして、コードビハインドであなたのgetParameter()メソッドを定義します。

関連する問題