Facebook как кнопка iframe с динамическим URL, напечатанным в шаблонах бритвы asp.net - PullRequest
0 голосов
/ 25 июля 2011

У меня есть сайт asp.net в umbraco cms, там я могу использовать шаблоны бритвы для создания некоторых макросов.Я хочу добавить на страницу кнопку, похожую на Facebook, это работает ТОЛЬКО, когда я вставляю встроенный iframe в макрос бритвы и включаю макрос в свою главную страницу.

Хотя, если я хочу включить некоторые параметры, иЯ извлекаю URL-адрес iframe из фрагмента кода, чтобы вставить в этот URL-адрес другой параметр, который перестает работать.

Однако после рендеринга оба URL-адреса iframe на 100% идентичны.

У кого-нибудь есть идеио том, как я могу убедиться, что правильный URL-адрес сайта в этом параметре iframe Facebook может быть изменен?(в зависимости от имени хоста, которое я связываю в umbraco cms)

Вот мой код бритвы, который не работает:

@{
  var currentLangPath = "www.newurl.com"; 
  var iframeSource = "http://www.facebook.com/plugins/like.php?app_id=207125959336150&href=" + currentLangPath + "&send=false&layout=button_count&width=110&show_faces=false&action=like&colorscheme=dark&font=arial&height=21";      
  }

<a href="#visitFanpage"><img src="/images/facebook_logo.jpg" alt="Solex Facebook" /></a>
<p>Become part of the community, and feel free to share your experience.</p>
<div class="social">
  <iframe src="@iframeSource" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:110px; height:25px;" allowTransparency="true"></iframe>
</div>

Вот содержимое файла Razor, который работает:

<a href="#visitFanpage"><img src="/images/facebook_logo.jpg" alt="Solex Facebook" /></a>
<p>Become part of the community, and feel free to share your experience.</p>
<div class="social">
  <iframe src="http://www.facebook.com/plugins/like.php?app_id=207125959336150&amp;href=www.newurl.com&amp;send=false&amp;layout=button_count&amp;width=110&amp;show_faces=false&amp;action=like&amp;colorscheme=dark&amp;font=arial&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:110px; height:25px;" allowTransparency="true"></iframe>
</div>

Обратите внимание, что оба этих файла Razor имеют ТОЧНО одинаковый вывод, поэтому я нахожу очень странным, что динамический URL-адрес не работает.

1 Ответ

2 голосов
/ 25 июля 2011

Выходные данные на самом деле не совпадают, переменная iframeSource получает кодировку HTML, и поэтому «&» превращается в:

&amp;amp;

Вы можете сделать две вещи:

  1. Удалить "amp;"после каждого «&» в iframeSource
  2. Вместо @iframeSource используйте @ Html.Raw (iframeSource)
...