2011-01-30 14 views
5

Trong ASP.NET tôi thường xuyên sử dụng Response.Redirect để chuyển hướng người dùng cuối đến trang khác trên hệ thống của tôi. Tôi luôn đặt thông số thứ hai thành true để ngay lập tức kết thúc phản hồi.Cách sử dụng hợp lệ cho Response.Redirect ("SomeURL", false) là gì?

Đối với cuộc sống của tôi, tôi không thể nghĩ ra lý do tại sao mọi người sẽ đặt thông số đó thành sai. Điểm tiếp tục tạo trang khi trình duyệt của người dùng cuối sẽ được chuyển hướng đến một trang khác ngay lập tức là gì?

Trả lời

6

Response.Redirect không có nghĩa là Page-lifecycle đã kết thúc trên máy chủ, chỉ cần gửi tiêu đề cho khách hàng.

Có lẽ bạn muốn chuyển hướng người dùng trước và THEN lưu lượng lớn dữ liệu đã tải lên của mình vào cơ sở dữ liệu?

HttpServerUtility.Transfer bằng cách chấm dứt vòng đời trang, nhưng nó không gửi tiêu đề, nó chỉ đơn giản là phục vụ một trang khác.

+1

Lưu ý: khi bạn sử dụng Chuyển URL sẽ giữ nguyên –

+0

Tôi sẽ chấp nhận câu trả lời của bạn là chính xác. Tuy nhiên tôi đọc phản hồi của bạn là "Về mặt lý thuyết, bạn có thể sử dụng nó theo cách này" thay vì "Trong quá khứ, tôi đã sử dụng nó theo cách này". Điều tôi muốn biết là bạn có bao giờ sử dụng phương thức response.redirect với tham số thứ hai sai không? – Aheho

+0

Thực ra, tôi luôn đặt nó thành sai. Tôi thích sử dụng Response.Redirect ("http://www.yahoo.com", sai); thay vì Response.Redirect ("http://www.yahoo.com"); –

6
Response.Redirect(..., true); 

khách hàng sẽ được gửi chuyển hướng cho trang mới, chế biến sẽ ngừng như một hủy bỏ chủ đề sẽ xảy ra

Response.Redirect(..., false); 

khách hàng sẽ được gửi chuyển hướng cho trang mới, trang hiện tại sẽ được cho phép để tiếp tục xử lý, có lẽ một số công việc dọn dẹp để làm hay cái gì khác

khách hàng sẽ không bao giờ nhìn thấy các kết quả từ trang hiện trong cả hai trường hợp

1

Tại sao không. Có thể bạn có một số thứ cần hoàn thành trên trang này trước khi các quy trình của một trang sẽ bị giết. Viết vào tập tin và sau đó colsing nó ví dụ. Hoặc thực hiện một số thay đổi trong DB, với kết thúc thích hợp của kết nối.

-1

Response.Rediect("any page like Default.aspx");

Khi tầm kiểm soát trên tuyên bố này trang của chúng tôi sẽ được chuyển đến trang được chỉ định vào dấu ngoặc đơn. Trang có thể là .aspx, .asp.htm etc ...

+1

Không lặp lại những điều đã được giải thích trong các câu trả lời khác. –

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