2012-09-04 31 views
6

Tôi đã theo form dưới đâyASP.NET MVC Đi qua các giá trị hình thức đến phương pháp hành động

<form name="SearchForm" method="post" id="SearchForm" action="/Search/"> 

Và nút sau

<input type="button" onclick="javascript:document.SearchForm.submit();" class="btn-leftsearch"> 

On cách nhấn vào nút này, hình thức nộp và gọi phương pháp này

[HttpPost] 
public ActionResult Index(string querystring) 
{ 
    return View(); 
} 

Tất nhiên chuỗi truy vấn là null. Tôi muốn vượt qua chuỗi truy vấn hoặc tốt hơn là một cái gì đó khác đại diện cho các trường trong biểu mẫu tới bộ điều khiển. Tôi đã thử chơi với thuộc tính action trong thẻ biểu mẫu. Tôi đã cố gắng thêm dữ liệu vào phương thức onclick trong nút. Không có gì đang hoạt động. Tất cả tôi muốn làm là vượt qua một số dữ liệu như thế này

Search?pri=all&amenity=pool etc 

Trong bộ điều khiển tôi sẽ có một cái gì đó giống như

[HttpPost] 
public ActionResult Index(string pri, List<string> amenities) 
{ 
    ... 
} 

Ai đó có thể cho tôi biết làm thế nào tôi có thể chuyển dữ liệu này để xem?

Trả lời

11

Tôi muốn đề nghị bạn rằng bạn có thể sử dụng đoạn mã sau để giải quyết vấn đề.

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Index(FormCollection collection) 
{ 
    string valueFromNameTextBox = collection["name"]; 
} 

trên bộ sưu tập, vui lòng đặt tên của hộp văn bản tìm kiếm. Bạn sẽ nhận được giá trị đã nhập thực tế. Bạn có thể lập chỉ mục vào bộ sưu tập này với tên của tất cả các yếu tố đầu vào trên biểu mẫu.

+1

Tôi thấy nhưng tôi có một số dữ liệu khác mà tôi muốn chuyển cũng không có trong các trường biểu mẫu. Làm thế nào để vượt qua những người? –

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