Используйте атрибуты данных (новые в HTML5) для передачи данных в ваш javascript.
Поэтому я бы изменил ваш код представления на что-то вроде:
if (Model.ImageListGallery != null)
{
<h3>@ImagesTranslation.Gallery</h3>
foreach (var imageInGallery in Model.ImageListGallery)
{
<div id="image_@imageInGallery.IdImage" class="editable-image" data-image-id="@imageInGallery.IdImage">
<a rel="group" href= "@Url.Action("displaybig", "news", new { idNews = Model.IdNews, idImage = imageInGallery.IdImage })">
<img src= "@Url.Action("displaysmall", "news", new { idNews = Model.IdNews, idImage = imageInGallery.IdImage })" alt=""/></a>
@Html.Label(ImagesTranslation.Description)
@Html.TextArea("Description", imageInGallery.Description, new { id = "area" + imageInGallery.IdImage })
<button disabled="disabled" id="btn@(imageInGallery.IdImage)" >@CommonTranslations.Save</button>
<img class="delete-image" src="@Href("~/Content/delete.png")" title="@ImagesTranslation.DeleteImage" alt=""/>
</div>
}
}
Javascript (jQuery)
$(function() {
$('.editable-image').each(index,elem) {
elem = $(elem);
var id = elem.attr('data-image-id');
var delete = elem.find('.delete-image');
var save = elem.find('button');
var area = elem.find('textarea');
delete.click(function() { deleteImage(id) });
//etc..
}
});