Tôi đang xem một số mã đã phá vỡ việc lưu các thay đổi của một mục Danh sách trong SP2010. Trong hàm khởi tạo của Event Receiver, HttpContext đang được lưu trữ dưới dạng biến cục bộ, sau đó trong phần ItemUpdating ở cuối tham số truy vấn chứa url trả về được truy xuất và chuyển SPUtility.Redirect (...). Điều này có tác dụng hủy bất kỳ thay đổi nào được thực hiện trong biểu mẫu chỉnh sửa. Vì vậy, sau các kịch bản mà tôi đã tìm thấy trực tuyến, tôi lưu trữ HttpContext như một đối tượng lớp tĩnh và chuyển hướng trong sự kiện ItemUpdated và các chỉnh sửa hiện được duy trì tiếp theo là chuyển hướng đến nơi chúng ta đang mong đợi.Chuyển hướng trong Sharepoint 2010 Bộ nhận sự kiện
Tôi có một mối quan ngại với việc lưu trữ HttpContext của người dùng cụ thể dưới dạng tĩnh trên lớp có khả năng bị tấn công nếu người dùng khác thực hiện hành động tương tự giữa người dùng thời gian 1 đặt bối cảnh ban đầu và trước chuyển hướng. Người dùng 2 sẽ ghi đè ngữ cảnh và có các vấn đề tiềm ẩn.
Tùy chọn duy nhất khác mà tôi có thể nghĩ là lưu trữ một từ điển tĩnh trong đó khóa là id người dùng, sau đó xóa mục nhập ngay trước khi chuyển hướng để không để các cá thể HttpContext bị hỏng.
Vì vậy, hãy xem giải pháp được chấp nhận từ here phản hồi đầu tiên bởi các trạng thái servy42 The fact that it works for a few trivial test cases at first doesn't make it a viable solution.
nhưng không đề xuất giải pháp khả thi.
Có một tùy chọn khác best approach may be changing Save Button in ribbon such that when clicked, a ECMA script first save your Item, then redirect to other page, or open other page in dialog.
được đề xuất thêm nữa nhưng đó có phải là cách khác để đi không?
Tôi khá mới đối với SP và chỉ cố gắng điều hướng qua vô số cách làm sai với kiến thức hạn chế của mình, trong khi không may bị mắc kẹt với SP2010.
Bất kỳ suy nghĩ nào về cách thực hiện việc này?
============
Edit: Thêm thông tin theo yêu cầu
Vì vậy, có hai trang web một nói được gọi là A mà sẽ có một trang web phụ gọi là B. A có một Danh sách và thêm một mục vào danh sách đó sẽ kích hoạt bộ thu sự kiện tạo trang phụ B và các nội dung liên quan khác. Nếu tôi sửa đổi B "mục" từ danh sách các Bs của SharePoint thì tôi không cần phải chuyển hướng và quay trở lại danh sách là tốt. Nếu tôi đang tìm kiếm và biểu đồ Gantt được hiển thị gọn gàng trên A liệt kê các Bs nếu tôi chỉnh sửa B sau khi nhấp vào Lưu, chúng tôi cần quay lại A. Nếu tôi ở trên B, cũng có nút chỉnh sửa để tôi muốn quay lại B sau khi chỉnh sửa và nhấp vào lưu.
Vì vậy, chúng tôi có nguồn = được nối vào khi chúng tôi chuyển đến màn hình chỉnh sửa. Từ một số đọc tôi đã thực hiện có vẻ như SharePoint sẽ chọn lên và chuyển hướng. Một trong các trường trên trang chỉnh sửa là url tương đối bên dưới trang web A và nếu thay đổi đó thì url chuyển hướng sẽ không còn hợp lệ và ném 404 để chúng tôi thay thế đường dẫn con B cũ bằng giá trị mới được nhập. Nhưng sau đó chúng tôi cần mã để chuyển hướng đến vị trí mới.
Mục đích của người nhận sự kiện đó là gì? Là nó để xác nhận hợp lệ dữ liệu mục danh sách? – Vaibhav
Tôi sẽ đặt câu hỏi @ Vaibhav thứ hai và thêm mục đích của chuyển hướng là gì? Tùy thuộc vào ngữ cảnh, bạn có thể xử lý chuyển hướng tốt hơn bằng cách sử dụng JavaScript phía máy khách thay vì C# phía máy chủ. – Thriggle
Tôi đã thêm một số chi tiết khác. Cảm ơn bạn đã trả lời –