Cách tiêu chuẩn truyền và xử lý mảng trong yêu cầu HTTP trong .NET là gì? Tôi có một giải pháp, nhưng tôi không biết đó có phải là cách tiếp cận tốt nhất hay không.Truyền các giá trị mảng trong yêu cầu HTTP trong .NET
Đây là giải pháp của tôi:
<form action="myhandler.ashx" method="post">
<input type="checkbox" name="user" value="Aaron" />
<input type="checkbox" name="user" value="Bobby" />
<input type="checkbox" name="user" value="Jimmy" />
<input type="checkbox" name="user" value="Kelly" />
<input type="checkbox" name="user" value="Simon" />
<input type="checkbox" name="user" value="TJ" />
<input type="submit" value="Submit" />
</form>
Các handler ASHX nhận được "sử dụng" tham số như là một chuỗi dấu phẩy phân cách. Bạn có thể nhận các giá trị một cách dễ dàng thông qua việc tách chuỗi:
public void ProcessRequest(HttpContext context)
{
string[] users = context.Request.Form["user"].Split(',');
}
Vì vậy, tôi đã có một câu trả lời cho vấn đề của tôi: gán nhiều giá trị với tên tham số tương tự, giả sử handler ASHX nhận nó như là một chuỗi dấu phẩy phân cách và chia chuỗi. Câu hỏi của tôi là có hay không đây là cách nó thường được thực hiện trong .NET.
Thực tiễn tiêu chuẩn cho việc này là gì? Có cách nào đơn giản hơn để lấy nhiều giá trị hơn giả sử rằng giá trị được phân tách bằng dấu phẩy và gọi Split() trên đó không? Đây có phải là cách mảng thường được truyền trong .NET hoặc XML được sử dụng thay thế không?
Có ai có bất kỳ thông tin chi tiết nào về việc đây có phải là cách tiếp cận tốt nhất không?
Xin cảm ơn, đây chính là thông tin tôi đang tìm kiếm. Vì vậy, .NET Framework đủ thông minh để đọc các giá trị tham số HTTP có cùng tên với một mảng, và tôi có tùy chọn để lấy nó như một mảng thông qua GetValues () hoặc như một chuỗi phân tách bằng dấu phẩy thông qua việc lập chỉ mục. –
Thanks.Đó là rất hữu ích tôi đã nhận được danh sách usint đó. –