Câu hỏi này có thể là cũ và giải quyết, nhưng câu trả lời tốt nhất không đề cập đến tất cả mọi thứ, và có thông tin niêm yết rõ ràng trên Microsoft.com về nó:
Server.Execute Method
Các bộ sưu tập dưới đây và thuộc tính có sẵn để trang ASP thực hiện:
- biến Application, ngay cả khi chúng được đặt trong trang gọi.
- Thuộc tính phiên, ngay cả khi chúng được đặt trong trang gọi điện.
- Biến và thuộc tính máy chủ, ngay cả khi chúng được đặt trong trang gọi điện.
- Yêu cầu bộ sưu tập và thuộc tính, ngay cả khi chúng được đặt trong trang gọi điện. Dữ liệu này bao gồm Biểu mẫu và QueryString dữ liệu được chuyển đến trang gọi điện.
- Bộ sưu tập và thuộc tính phản hồi. Tệp .asp được thực thi có thể sửa đổi tiêu đề HTTP. Tuy nhiên, như với bất kỳ tệp .asp nào, nếu tệp .asp được thực thi cố gắng sửa đổi các tiêu đề HTTP sau khi nó gửi một phản hồi tới máy khách, nó sẽ tạo ra một lỗi.
Như bạn có thể thấy, có 5 cách Microsoft gợi ý để vượt qua các biến thông qua một phương pháp Server.Execute
. Trước khi tôi thấy điều này trên Microsoft, phương pháp ưa thích là Session
, như câu trả lời hay nhất cho thấy, vì tôi thấy điều này trước thông tin trên Microsoft.com. Nhưng sau khi nhận thấy rằng QueryStrings
có thể được chuyển từ trang trước, tôi sẽ phải nói nhịp đập này bằng cách sử dụng Session
để chuyển các giá trị. Session
sẽ là cần thiết nếu ứng dụng của bạn yêu cầu bạn thêm các biến vào trang thực thi.
Nhưng chuyển các biến, tôi sẽ nói QueryStrings
và dễ áp dụng nếu ứng dụng của bạn cho phép sự linh hoạt. Tôi chắc rằng bạn biết làm thế nào để sử dụng đã querystrings, nhưng trong ý nghĩa của việc sử dụng nó cho một phương pháp Server.Execute
, bạn chỉ có thể làm điều này:
Xem xét việc ASP1.asp
và ASP2.asp
:
ASP1.asp bao gồm:
Server.Execute("ASP2.asp")
ASP2.asp bao gồm:
Response.Write Request("id")
Khi bạn gọi ASP1.asp?id=123
Bạn sẽ nhận thấy rằng ASP2.asp cũng nhìn thấy cùng một Querystring
được truyền cho ASP1.asp, vì vậy nó sẽ viết 123
theo phản hồi của ASP1.asp.
Điều này phức tạp hơn nhiều so với việc sử dụng Session
cho tác vụ.
Nguồn
2014-01-12 15:06:41
Điều gì sẽ xảy ra khi bạn chạy mã của mình? –
Lỗi máy chủ 'ASP 0173: 80004005' Ký tự không hợp lệ trong đường dẫn tham số trong phương thức MapPath --- Hoặc giống như ở Đan Mạch trên màn hình của tôi :) – Behrens
Và không có tham số chuỗi truy vấn, điều gì sẽ xảy ra? –