2012-08-10 48 views
12

Tôi có chế độ xem một phần như một phần của _Layout.cshtml, để nó được hiển thị trên nhiều trang. Hãy nghĩ về một phần xem như một trình đơn được hiển thị trên mọi trang trên trang web.Cách xem chế độ xem phụ huynh từ chế độ xem từng phần

Khi một trong những liên kết trong menu của xem một phần được nhấp, tôi chỉ có thể truy cập/thấy trong phương pháp hành động đó được gọi là xem một phần, giống như tên của nó, vv

Nhưng những gì tôi thực sự cần có là Chế độ xem mà chế độ xem từng phần được bật khi mục được nhấp.

Làm cách nào để nhận được thông báo này?

+0

Nếu tôi hiểu bạn một cách chính xác. bạn muốn lấy tên của t anh ta xem rằng một phần xem đang được trả về? Không phải nó được hiển thị trong bố cục? –

+0

Đúng vậy: Tôi đang ở trên một trang nhất định có chế độ xem một phần và tôi muốn biết trang đó là gì. Các liên kết này mà tôi đã nói đến là cài đặt ngôn ngữ, vì vậy tôi muốn đặt ngôn ngữ trong phương thức hành động và sau đó chuyển hướng trở lại trang đến từ ngôn ngữ khác (bằng ngôn ngữ khác). Để thực hiện việc này, tôi có một bộ điều khiển riêng để xử lý việc này, nhưng tôi chỉ nhận được một phần xem, chứ không phải chế độ xem trên đó. –

Trả lời

22

Bạn có thể sử dụng ParentActionContext

Ví dụ

var controller = ControllerContext.ParentActionViewContext.RouteData.Values["Controller"] as string; 
var action = ControllerContext.ParentActionViewContext.RouteData.Values["Action"] as string; 

Cập nhật

Từ quan điểm cuộc gọi này nên làm những gì bạn cần

@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString() 
@HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString() 
+0

ParentActionViewContext có vẻ là null trong phương pháp hành động của tôi, vì vậy không có may mắn ở đó ... + Spaceballs là tuyệt vời - "Tôi không nhìn thấy bạn chơi với búp bê của bạn một lần nữa!" –

+0

Tôi nghĩ rằng sai lầm của tôi là mã hoạt động trong bộ điều khiển, tôi đã updatetd để sử dụng một cuộc gọi khác nhau từ xem (BTW Sapeceball FTW :)) – Iridio

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