Я делал нечто подобное в прошлом, но запускал сгенерированную ячейку таблицы. Я добавил идентификатор в атрибут rel ячейки таблицы. Для этого я использовал событие RowDataBound, вы должны иметь возможность сделать что-то подобное с помощью кнопки ссылки. Используйте встроенный сериализатор jSON для загрузки информации на страницу, а затем используйте приведенный ниже код для всплывающего окна.
Вот как я сериализовал свои данные в коде позади, очевидно, вам нужно настроить это под свои нужды:
//Grab Venue Details using LINQ
var venues = (from evt in futureEvents
select new { VenueID = evt.Venue.VenueID, evt.Venue.Description, evt.Venue.Address.Address1, evt.Venue.Address.Suburb }).Distinct();
//Serialize Venues for use in tool tip
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(venues);
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "jSONVenues", "var venues = " + json + ";", true);
Пример jSON
var venues = [{"VenueID":393,"Description":"Dee Why RSL","Address1":"932 Pittwater Road","Suburb":"Dee Why"}];
jQuery
this.tooltip = function() {
/* CONFIG */
xOffset = 20;
yOffset = 20;
// these 2 variable determine popup's distance from the cursor
// you might want to adjust to get the right result
/* END CONFIG */
/*Set Up hover for table cell change this for you link */
$("[Your Gridview ID or class] tr>td:first-child").hover(function(e) {
/* Get ID From rel attribute */
this.t = $(this).attr("rel");
var offset = $(this).offset();
var venue;
for (i = 0; i < venues.length; i++) {
venue = venues[i];
if (venue.VenueID == this.t) {
i = venues.length + 1;
}
}
$("body").append("<p id='tooltip'><strong>" + venue.Description + "</strong><br>" + venue.Address1 + ", " + venue.Suburb + "</p>");
$("#tooltip")
.css("top", (offset.top + xOffset) + "px")
.css("left", (offset.left + yOffset) + "px")
.fadeIn("fast");
},
function() {$("#tooltip").remove();});
};
// starting the script on page load
$(document).ready(function() {
tooltip();
});
РЕДАКТИРОВАТЬ: Чтобы дать некоторый контекст, это используется, когда пользователь выбирает событие для посещения, с сеткой, показывающей название места. При наведении указателя мыши на ячейку сетки всплывающее окно отображает полную информацию о месте проведения.
person
Jon P
schedule
11.07.2011