7

Có hành vi nút quay lại lạ chỉ xảy ra trong Chrome.
Tôi có hai trang - Lưới và Biểu mẫu
trường hợp:
1. Khi điều hướng từ Lưới tới Biểu mẫu mọi thứ đều tốt - lưới sẽ được thêm vào lịch sử.
2. Khi Biểu mẫu được gửi đến máy chủ qua bài đăng, tôi sử dụng RedirectToAction để chuyển hướng (302) vào Grid một lần nữa - Biểu mẫu được thêm vào lịch sử.
3. Khi điều hướng một lần nữa từ Grid để Form sau chuyển hướng, một điểm lịch sử có chứa địa chỉ Lưới là không được thêm vào lịch sửLỗi lịch sử của Chrome có thể - đang thực hiện PRG và khi điều hướng trở lại cùng một biểu mẫu - không có mục nhập lịch sử nào được thêm

Bây giờ bạn phải nhấp đúp chuột vào nút quay lại để có được trở lại lưới.

nếu bạn lặp lại tất cả các bước nhiều lần và xem stack lịch sử, bạn sẽ thấy một danh sách buồn của mục Form mà không có lưới ở giữa

chỉnh sửa: đây là một liên kết đến một trang chứng minh vấn đề , mở nó trong chrome và làm theo hướng dẫn - see the Chrome history bug in action

Chỉ có "Giải pháp" mà tôi tìm thấy cho điều này là đặt một số crap ngẫu nhiên vào liên kết tới Biểu mẫu, nhưng tôi thực sự ghét điều này.

+0

Tôi cũng gần như chắc chắn rằng nó không liên quan đến công nghệ máy chủ tôi sử dụng. Nó liên quan đến chuyển hướng với 302 từ máy chủ và sau đó trở về cùng một Url. thêm phần MVC để cung cấp ngữ cảnh, đoán nó sẽ xảy ra bằng cách sử dụng RoR là tốt. –

+0

Bạn có thể thiết lập một trang web ví dụ nhỏ để tái tạo không? – Udi

+0

Tôi sẽ cố gắng để đặt một cái gì đó, bây giờ sâu của nó trong ứng dụng của tôi –

Trả lời

3

Chrome nghiêm ngặt về việc sử dụng HTTP 303 See other trong khi ứng dụng của bạn sử dụng 302 Found để chuyển hướng. Xem chrome lỗi báo cáo liên quan ở đây: http://code.google.com/p/chromium/issues/detail?id=2801

Bạn có thể bỏ phiếu để sửa chữa RedirectToAction ASP.Net MVC ở đây: http://connect.microsoft.com/VisualStudio/feedback/details/706961/asp-net-mvc-controller-redirecttoaction-method-should-return-http-303-response

+0

Cảm ơn Udi, sẽ xem xét nó –

+0

Tuyệt vời bao lâu sống lỗi này sống. alas trả về 303 không giải quyết vấn đề chrome –

+0

sẽ thêm 303 vào trang mẫu, không chấp nhận câu trả lời của bạn vì nó không giải quyết được sự cố chrome và để nó mở có thể thu hút sự chú ý nhiều hơn cho vấn đề (vì vậy +1 và cảm ơn sự giúp đỡ của bạn) –