Поведение по умолчанию для помощников Ajax не будет поддерживать это. Однако вы можете создать собственный обработчик JavaScript, который запускается при возврате Ajax-запроса, а затем использовать его для вставки значения в атрибут
Создайте общий файл JavaScript (например, загрузите его на главной странице) и добавьте следующую функцию:
// Creates an Ajax OnComplete handler that will inject
///the contents into the specified attribute, rather than the InnerHtml
function createAttributeInjector(attributeName) {
return function(ajaxContext) {
if(ajaxContext.get_updateTarget() !== null) {
ajaxContext.get_updateTarget()[attributeName] = ajaxContext.get_data();
}
// IMPORTANT: Suppress the default behavior!
return false;
}
}
Затем при построении Ajax-ссылки:
Ajax.ActionLink("Change IMG Source", "actionChange", new AjaxOptions() {
UpdateTargetId="CHANGE-MY-SRC",
OnCompleted="createAttributeInjector('src')"
}
Отказ от ответственности: я не смог пройти этот тест, но я делал подобные вещи с помощниками Ajax. Пишите в комментариях к моему ответу, если у вас возникли проблемы и я с радостью помогу! Если это сработает, дайте мне знать в комментариях!
Если у вас есть источник (, вы можете получить его в CodePlex ), вы можете проверить файл AjaxContext.cs в проекте MicrosoftMvcAjaxScript для получения полного списка свойств, к которым вы можете получить доступ из обработчика OnCompleted