Hành vi mặc định cho những người giúp đỡ Ajax sẽ không hỗ trợ này. Tuy nhiên, bạn có thể tạo trình xử lý JavaScript tùy chỉnh chạy khi yêu cầu Ajax trả về và sau đó sử dụng nó để chèn giá trị vào thuộc tính
Tạo một tệp JavaScript phổ biến (tải nó lên trang Chính)) và thêm chức năng này:
// 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;
}
}
Sau đó, khi xây dựng liên kết Ajax của bạn:
Ajax.ActionLink("Change IMG Source", "actionChange", new AjaxOptions() {
UpdateTargetId="CHANGE-MY-SRC",
OnCompleted="createAttributeInjector('src')"
}
Disclaimer: tôi đã không thể để cung cấp cho một thử nghiệm, nhưng tôi đã thực hiện điều tương tự với những người trợ giúp Ajax. Đăng trong các ý kiến cho câu trả lời của tôi nếu bạn có vấn đề và tôi rất vui được giúp đỡ! Nếu nó hoạt động, hãy cho tôi biết trong phần bình luận!
Nếu bạn có nguồn (you can get it on CodePlex), bạn có thể kiểm tra các tập tin AjaxContext.cs trong dự án MicrosoftMvcAjaxScript cho một danh sách đầy đủ các thuộc tính bạn có thể truy cập từ các handler OnCompleted
Nguồn
2009-01-28 23:01:31
ID mục tiêu là của thẻ hình ảnh và tôi muốn thay đổi thuộc tính src của thẻ là src = "văn bản mới" khi cuộc gọi ajax trả về bằng "văn bản mới". – zsharp