2014-06-12 4 views
1

У меня есть простая реализация fancybox2, которая работает. Когда я запускаю приложение, ссылка выглядит отлично, когда я наводил на нее (http://localhost:53481/Add.aspx) и открывает fancybox, когда я нажимаю на нее.Использование переменных сеанса в fancybox

<a class="popup" href="Add.aspx" title="Add a Value">New Code</a> 

Я хотел бы попробовать что-то вроде показанного ниже, но это не сработает. Когда я запускаю приложение, ссылка плохо сформирована (отображается только как http://localhost:53481/), а сообщение об ошибке, которое я получаю, когда я нажимаю на ссылку, - «Запрошенный контент не может быть загружен. Повторите попытку позже».

<a class="popup" href="<%# Eval(Session["Type"].ToString(), "Add.aspx?Type={0}") %>" title="Add a Value">New Code</a> 

Я устанавливаю значение на загрузку своей страницы, а также попытался установить настройку во время сеанса без успеха.

Session["Type"] = "1"; 

По сути я пытаюсь вставить переменную в HREF, так что я могу передать его на страницу, которая будет загружать в FancyBox. Любое понимание было бы оценено.

ответ

0

Попытка

<a class="popup" href="Add.aspx?Type=<%: Server.URLEncode(Session["Type"]) %>" title="Add a Value">New Code</a> 

<%# Eval..%> должен быть использован только для привязки данных значений в пределах повторителя или DataTable и т.д. Используйте <%: %> для вывода на страницу HTML с кодированием.

+0

FYI: Хотя ваш ответ кажется правдоподобным, он появился в очереди «невысоких должностей» после того, как был помечен для удаления. Я подозреваю, что это потому, что это только код, без объяснения причин. –

+0

@OliverMatthews: Спасибо, улучшенный ответ. – SilverlightFox

+0

@SilverlightFox, спасибо за ответ. Server.URLEncode не работает, но System.Net.WebUtility.UrlEncode сделал :) Я использую VS2013, .NET 4.5.1. Спасибо, что привели меня по правильному пути. – 486DX

Смежные вопросы