Советы для отладки Razor (или любой код на стороне сервера визуализации разметки) более эффективно:
- Посмотреть тонированное HTML! это правильно?
- Удалите стили/скрипты, пока не убедитесь, что сервер отображает нужные вам значения.
- Добавьте контрольную точку к контроллеру, чтобы убедиться, что вы передаете данные в представление. Ваша логика рендеринга может быть прекрасной.
Это значит, что ваш код выглядит нормально. Я dummied вверх некоторые данные:
@{ var t = new { Id = 1234, tTags = new List<string> { "foo", "bar", "baz" } }; }
<b><a href="#" onmouseover="tooltip.pop(this, '#[email protected](t.Id)')">tagged</a></b>
<div style="display: none;">
<div id="[email protected](t.Id)">
<span class="menu">
@for(int i = 0; i < t.tTags.Count; i++) {
<b>@Html.ActionLink(t.tTags[i], "TagDetail", "Forums", new { tag = t.tTags[i], page = 0 }, null)</b>
}
</span>
</div>
</div>
Это дает:
<b><a href="#" onmouseover="tooltip.pop(this, '#tagsdiv1234')">tagged</a></b>
<div style="display:none;">
<div id="tagsdiv1234">
<span class="menu">
<b><a href="">foo</a></b>
<b><a href="">bar</a></b>
<b><a href="">baz</a></b>
</span>
</div>
</div>
Одна вещь, которая на самом деле выглядит не так здесь является '#tagsdiv1234'
. Вы уверены, что вашей подсказке нужен ID , включая селектор CSS/jQuery ID («#»)?
Другая вещь, которая выделяется, - это ваш контейнер для всплывающей подсказки, обернутый внешним div
, установленным на display:none
. Элемент ID'd всегда будет скрыт, потому что его родитель скрыт, даже если код всплывающей подсказки пытается его показать.
Другая возможность заключается в том, что ваш идентификатор содержит символ незаконный в element identifier.
подумал, что я бы добавил всплывающие окна, но не содержит div – mxadam
Что не работает? Я уволил это с некоторыми примерами данных, и он отображает список ссылок и вставляет идентификаторы, которые вы ожидаете. –
Это должно сработать. Где вы получаете ошибку? Какое сообщение об ошибке вы получаете? – Shyju