2011-10-11 23 views
6

Mọi người, tôi đang sử dụng MVC 3 (Dao cạo). Tôi có vấn đề sau:Cách sử dụng phương thức Html.Partial() để hiển thị chế độ xem một phần với đường dẫn rõ ràng

Tôi có một số nội dung phổ biến được tách biệt thành một phần xem. Nhưng thay vì đặt nó ở vị trí mặc định (views/shared hoặc views/controller-name), tôi cần đặt nó ở một vị trí khác (views/shared/new-folder hoặc view/controller-name/new-folder).

Tôi đã thử điều này: @Html.Partial("views/shared/new-folder/partial-view-name") hoặc thậm chí @Html.Partial("views/shared/new-folder/partial-view-name.cshtml"), nhưng có vẻ như MVC3 chỉ xem xét tham số dưới dạng tên chế độ xem và hoàn toàn bỏ qua bất kỳ thông tin đường dẫn nào.

Có lẽ tôi đã làm điều gì đó sai, ai có thể giúp tôi với điều này? :) Cảm ơn bạn rất nhiều!

+1

ở đây là cùng một câu hỏi [http://stackoverflow.com/questions/7640790/how-does-renderpartial-figure-out-where-to-find-a-view/7641165#7641165] [ 1] [1]: http://stackoverflow.com/questions/7640790/how-does-renderpartial-figure-out-where-to-find-a-view/7641165#7641165 – zdrsh

Trả lời

16

Bạn cần phải tham khảo cách sử dụng một ứng dụng đường dẫn ảo (chú ý ~\ vào đầu của con đường):

@Html.Partial("~\\views\\shared\\new-folder\\partial-view-name.cshtml") 
+0

cảm ơn bạn ! nó hoạt động !! ~~ – NextStep

1

Nếu bạn cũng đã cấu hình một hành động để trở lại mà phần View, Bạn cũng có thể làm:

@{ Html.RenderAction("PartialViewAction", "PartialViewCOntroller");}

Đây có lẽ là tốt hơn vì bạn không nên cứng mã hóa tài liệu tham khảo để xem trong mã của bạn. Triển khai một tham chiếu được mã hóa cứng trên một máy chủ khác có thể phá vỡ ứng dụng, nhưng việc gọi một hành động để trả về một khung nhìn sẽ không.

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