2012-09-10 35 views
5

Tôi có ứng dụng dạng asp.net Tôi có lỗi khi người dùng nhấp F5 hoặc làm mới nó sẽ nhập dữ liệu từ mục nhập dữ liệu cuối cùng .là họ đang ở xa để Ngăn chặn gửi dữ liệu nếu người dùng nhấp vào F5 hoặc làm mới?cách ngăn dữ liệu gửi nếu người dùng nhấn F5 hoặc làm mới trong asp.net?

+1

@aelnajjar ít nhất hãy xem trước đây! http://stackoverflow.com/questions/3759572/avoid-form-re-submit và http://stackoverflow.com/questions/2526568/asp-net-prevent-form-submission-twice điều này đã được hỏi rất nhiều lần ! –

Trả lời

11

Thật dễ dàng để đặt lại trang về trạng thái ban đầu của nó trong ASP.NET bằng cách chuyển hướng đến chính nó. Dưới đây là 3 cách bạn có thể thực hiện:

  1. Response.Redirect (Request.Path);

Trong đó đường dẫn đến yêu cầu được thể hiện trong hình thức sau đây: /MyApp/MyFile.aspx

  1. Response.Redirect (Request.RawUrl);

Trong đó không chỉ là con đường tiếp xúc, mà còn bất kỳ thông số chuỗi truy vấn như: /MyApp/MyFile.aspx?foo=bar

  1. Response.Redirect (Request.Url.ToString());

Trong đó không chỉ là các thông số đường dẫn và chuỗi truy vấn tiếp xúc, nhưng khiến sẵn như là một tài liệu tham khảo tuyệt đối trong các hình thức: myserver/MyApp/MyFile.aspx foo = bar

1

Có nhiều cách để ngăn điều này xảy ra. Cách đơn giản nhất là Response.Redirect đến trang khác, có thể được làm mới mà không có hậu quả.

// process form post 
Response.Redirect("anotherpage.aspx"); 
Các vấn đề liên quan