Попытка ajaxify "любимый эта песня".
Как я понимаю, желательно полностью отделить javascript от разметки от внешнего файла .js. Тем не менее, мы требуем передать идентификатор песни вместе с сообщением ajax.
У нас есть следующая разметка
<div id="favorite-song"></div>
То, как я бы это сделал, используя ASP.NET ajax внутри представления
<div id="favorite-song"><%= Ajax.ActionLink("Make this your favorite", "FavoriteSong", new { id = Model.ID }, new AjaxOptions {...}) %></div>
При использовании jQuery я прикрепляю событие onclick к # favour-song для запуска запроса ajax.post. Но как передать идентификатор песни или значения post / route в целом в запрос jQuery?
Редактировать: Чтобы быть более конкретным - Как мы передаем этот Model.ID (который является идентификатором песни) в JavaScript?
<ч />
Edit2:
Так что один из способов сделать это - добавить этот идентификатор песни как часть разметки и извлечь его из DOM в jQuery примерно так:
<div id="favorite-song"><span id="SongID-<%= Model.ID %>"></span></div>
И затем, когда мы выполняем запись AJAX в jQuery, мы получаем идентификатор этого диапазона, удаляем «SongID-» спереди и вуаля, у нас есть идентификатор песни.
Есть ли альтернативный / лучший способ сделать это?