2010-05-22 51 views
38

Làm cách nào để truy cập vào giá trị querystring trong Chế độ xem?cách truy cập chuỗi truy vấn trong ASP.Net MVC View?

+0

không bao giờ nghe nói về bất cứ ai có nhu cầu làm điều như vậy trong asp.net? mvc, có lẽ bạn muốn truy cập nó một Action cuz đó là có được thực sự dễ dàng – Omu

+1

Bạn có chắc bạn cần chuỗi truy vấn trong MVC? Có thể đưa ra một ví dụ về những gì bạn muốn. –

Trả lời

54

Nó không phải là một thiết kế tốt để truy cập các tham số truy vấn trong dạng xem. Khung nhìn nên sử dụng mô hình được cung cấp bởi bộ điều khiển. Vì vậy, bộ điều khiển đọc các tham số truy vấn và chuyển chúng tới khung nhìn. Nếu bạn muốn bỏ qua quy tắc này bạn luôn có thể làm điều này theo quan điểm của bạn:

<%= Request["SomeParameter"] %> 

Nhưng tôi mạnh mẽ sẽ không khuyến khích bạn làm như vậy.

0

Vì Darin khuyên bạn không nên sử dụng Chuỗi truy vấn trong chế độ xem. Nhưng có một điều là bạn có thể truy cập vào biến Request trong view của bạn bởi vì Asp.Net của nó và nếu bạn truy cập nó, bạn có tất cả các hàm và thành viên có mặt tại đó

5

Tôi sẽ đọc giá trị chuỗi truy vấn trong Controller của bạn. giá trị đó cho thuộc tính trong ViewBag của bạn. Thuộc tính ViewBag sau đó có thể được đọc từ chế độ xem của bạn.

ví dụ:

ViewBag.MyQSVal = Request.QueryString["myValue"]; 

Sau đó, trong View của bạn:

@if(ViewBag.MyQSVal == "something"){ ... } 
13

Trong View, bạn có thể truy cập trực tiếp. Không cần phải viết bất kỳ mã nào trong Bộ điều khiển, mặc dù bạn có thể.

Ví dụ - Nếu chuỗi truy vấn của bạn đã tham số có tên là id, một cái gì đó giống như id = 1

Razor cú pháp:

@Request.QueryString["id"] 
Các vấn đề liên quan