У меня есть сайт asp.net-mvc, и я использую приведенную ниже библиотеку javascript для страницы с фотографиями, чтобы обвести границы вокруг всех моих фотографий
http://www.netzgesta.de/instant/
Я просто изменил свой сайт, чтобы загружать свои фотографии через ajax вместо перезагрузки всей страницы, и, хотя, когда я отлаживаю его, создается правильный HTML, я не вижу ни одного изображения:
<div id="status">
<% Html.RenderPartial("AlbumGrid",Model); %>
</div>
изменение, которое я сделал, состояло в том, чтобы взять все ссылки как это:
<a href='Album?Page=" + i + "&AlbumName=" + albumName_ + "'>" + i + "</a>");
и измените его на это, используя класс ajaxhelper:
Ajax.ActionLink(i.ToString(), "Album?Page=" + i + "&AlbumName=" + albumName_, new AjaxOptions { UpdateTargetId = "status", LoadingElementId = "updating"}));
Я знаю, что это как-то связано с этой библиотекой instant.js, потому что она ломается, когда у меня так:
<img class=\"instant ishadow50\" src=\"...">
но если я удаляю класс выше и просто регулярно загружаю изображения, все работает нормально (но, конечно, я не получаю эффекта границы). Так что это ниже работает нормально.
<img src=\"...">
Кто-нибудь пытался успешно использовать эту библиотеку с ajax?
РЕДАКТИРОВАТЬ: Я добавил полный источник ниже (сокращая до минимума):
<head>
<script type='text/javascript' src='../../Scripts/jquery-1.3.2.js'></script>
<script type="text/javascript" src="../../Scripts/instant.js"></script>
<script type="text/javascript" src="../../Scripts/cvi_instant_lib.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftAjax.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftMvcAjax.js"></script>
<script type="text/javascript">
function done() {
alert('done');
}
</script>
<script type="text/javascript">
<!--
var canvascheck = document.createElement('canvas');
if (canvascheck.getContext || (document.all && document.namespaces && !window.opera)) {
document.writeln('<style type="text/css">');
document.writeln('img.instant { visibility: hidden; }');
document.writeln('<\/style>');
}
-->
</script>
</head>
<body >
<center>
<div id="status">
<table width="750" cellspacing="0" cellpadding="10" rules="all" border="1" style="background-color:#EEEEEE;width:750px;border-collapse:collapse;">
<tr align="center">
<td width="187.5" valign="top">
<a id="picLinks_0" class="picLinks" href=''><img class="instant ishadow50" id='001' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1- pic001.jpg"></img></a>
<br/>
</td>
<td width="187.5" valign="top">
<a id="picLinks_1" class="picLinks" href=''><img class="instant ishadow50" id='002' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1-pic002.jpg"></img></a>
<br/>
</td>
<td width="187.5" valign="top">
<a id="picLinks_2" class="picLinks" href=''><img class="instant ishadow50" id='003' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1-pic003.jpg"></img></a>
<br/>
</td>
<td width="187.5" valign="top">
<a id="picLinks_3" class="picLinks" href=''><img class="instant ishadow50" id='004' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1-pic004.jpg"></img></a>
<br/>
</td>
</tr>
<tr align="center">
<td width="187.5" valign="top">
<a id="picLinks_4" class="picLinks" href=''><img class="instant ishadow50" id='005' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1-pic005.jpg"></img></a>
<br/>
</td>
<td width="187.5" valign="top">
<a id="picLinks_5" class="picLinks" href=''><img class="instant ishadow50" id='006' src="http://adam.kantro.net/pics/Jersey_Shore_1/Thumbnails/Jersey_Shore_1-pic006.jpg"></img></a>
<br/>
</td>
</tr>
</table>
</div>
<img id="updating" src="../../images/ajax-loader.gif" style="display: none;" alt="Updating ..." />
<br />
<div id="paging">
Page: 1 of 9 1
<a href="/Photos/Album?Page=2&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">2</a>
<a href="/Photos/Album?Page=3&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">3</a>
<a href="/Photos/Album?Page=4&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">4</a>
<a href="/Photos/Album?Page=5&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">5</a>
<a href="/Photos/Album?Page=6&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">6</a>
<a href="/Photos/Album?Page=7&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">7</a>
<a href="/Photos/Album?Page=8&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">8</a>
<a href="/Photos/Album?Page=9&AlbumName=Jersey_Shore_1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'updating', updateTargetId: 'status', onSuccess: Function.createDelegate(this, done) });">9</a>
Далее >>
</div>
</div>
</body>
</html>