2010-10-26 26 views
7

Tôi muốn gọi một hành động với một cái gì đó tương tự như uri này:hành động với một mảng chuỗi như tham số

http://server/controller/action/?columns=firstname&columns=lastname&columns=age 

và sử dụng nó như thế này:

public ActionResult Action(string[] columns) 
{ 

} 

làm thế nào để làm điều đó?

+0

FYI. Tuyên bố về yêu cầu POST - http://stackoverflow.com/a/2527206/1193727 – resnyanskiy

Trả lời

7

Google là bạn của tôi;)

http://server/controller/action/?columns[]=firstname&columns[]=lastname&columns[]=age 

Edit:

Trên thực tế bạn chỉ cần viết như tôi đã làm trong câu hỏi ban đầu của tôi. Lý do tại sao tôi đã không nhận được nó làm việc ở nơi đầu tiên là tôi đã sử dụng "cột" trong chuỗi truy vấn và "cột" trong như tham số hành động.

+0

cảm ơn. phải đảm bảo tên của đối số trong phương thức hành động giống với tên trong url. – user1873073

0

Tôi không biết đó có phải là sự khác biệt giữa tham số nhận và đăng bài hay không, nhưng bài đăng gốc của bạn hoạt động hoàn toàn tốt với thông số bài đăng. Trong thực tế, khi sử dụng các tham số post của [], mảng sẽ trở thành null trong tham số hành động. Tôi tìm thấy điều này khi jQuery 1.4 bắt đầu thêm các mảng của [] vào các mảng json khi đăng. Xem: http://www.dovetailsoftware.com/blogs/kmiller/archive/2010/02/24/jquery-1-4-breaks-asp-net-mvc-actions-with-array-parameters

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