2011-07-28 39 views
11

này hoạt động để lặp qua tất cả các phím Mẫu:Vòng qua các phím đối tượng Request

foreach (string s in Request.Form.Keys)   
     {  
      Response.Write(s.ToString() + ":" + Request.Form[s] + "<br>");  
     } 

Nhưng, tôi muốn lặp qua tất cả các phím Yêu cầu:

foreach (string s in Request)  
     {  
      Response.Write(s.ToString() + ":" + Request[s] + "<br>");  
     } 

Vấn đề là request.keys được không phải là một bộ sưu tập. Nhưng rõ ràng đối tượng yêu cầu có con mà tôi muốn lặp lại. Tôi khá chắc chắn nó có thể, tôi chỉ sử dụng cú pháp xấu.

cảm ơn trước!

Trả lời

19

sử dụng Request.Params:

foreach (string s in Request.Params.Keys)  
{  
    Response.Write(s.ToString() + ":" + Request.Params[s] + "<br>");  
} 
1

Đánh dấu là chính xác này sẽ làm việc nhưng nó sẽ trả lại tất cả các phím trong các tập tin cookie, các phím theo hình thức đó đã được gửi đi, và các phím trong chuỗi truy vấn và giá trị quan trọng khác các cặp được gửi đi. Tôi đề nghị cụ thể hơn. Nếu bạn nhận được một đối tượng sử dụng bài viết

Dictionary<string, string> _properties; 
    foreach (string f in report.Form.Keys) 
    { 
     _properties.Add(f, report.Form[f]); 
    } 

và cho việc sử dụng trang Nhận

foreach(string s in report.QueryString.Keys) 
    { 
     _properties.Add(s,report.QueryString[s]); 
    } 
Các vấn đề liên quan