2012-12-21 40 views
6

Làm cách nào để làm mới và tải lại trang mà không cần gửi lại dữ liệu POST?Làm mới trang, mà không cần gửi lại dữ liệu POST (ASP.NET)

Tôi đã thử location.reload() hoạt động hoàn toàn tốt trên Chrome (đó là môi trường thử nghiệm trong khi phát triển). Nhưng IE và Firefox đã đi vào một vòng lặp vô hạn trong JS - đăng lại rất nhiều dữ liệu rác/trùng lặp.

Lưu ý: Tuy nhiên, tôi chỉ muốn làm mới trang để xóa tất cả nội dung của biểu mẫu. Tôi cũng đang đăng ký một kịch bản khởi động sau khi Gửi, sẽ hiển thị thông báo cảnh báo rằng dữ liệu đã được thêm thành công.

Giúp đỡ!

+0

Bạn có đăng trang bình thường hay thông qua JavaScript/AJAX không? –

Trả lời

6
location.href = location.href + '?' + Math.random(); 

Điều này sẽ hiệu quả.

+0

+1, nhưng bạn cũng cần kiểm tra xem '?' tất cả đã sẵn sàng tồn tại trên href. – Aristos

13

Hãy thử điều này:

window.location.href = window.location.href; 
+1

Cảm ơn. Điều này đã giúp tôi rất nhiều. – ShaileshDev

4

Trong mã add bạn:

Response.Redirect(Request.RawUrl) 
2

Nếu bạn chỉ muốn xóa hình thức, tại sao không:

<input type="reset" value="Clear Fields"> 

Bạn cũng có thể làm điều đó sử dụng:

document.getElementById('<%=form1.ClientID%>').reset(); 

Có vẻ như một sự lãng phí để tải lại trang trừ khi bạn cũng cần làm điều gì đó khác.

+0

@Aristos - Cảm ơn và điểm tốt, đã cập nhật bài đăng của tôi. – webnoob

1

Thêm dòng sau:

Server.Transfer(Request.RawUrl);

1

Sau đây sẽ giải quyết vấn đề của bạn:

Server.Transfer(Request.RawUrl); 
0

sử dụng location.reload(true). Điều này "khó" tải lại trang ..

0

Tôi cũng thử tải lại và tải lại (đúng) cả hai đều không thực hiện chính xác những gì tôi muốn.

I have seen that Location Object có phương pháp khác (so với tải lại) kể từ khi tôi muốn yêu cầu các trang trong "nhận được" tôi chỉ làm:

location.assign(window.location); 

vẻ Cho đến nay để được làm những gì tôi muốn, tải lại cùng một trang mà không gửi lại các giá trị. Trường hợp sử dụng của tôi là cuộc gọi ajax đến máy chủ khi phiên hết hạn. Tôi hiển thị thông báo lỗi cho biết phiên bị mất, sau đó tôi muốn trang tải lại.

Các vấn đề liên quan