2013-02-21 29 views
6

Tôi đã triển khai một ứng dụng mvc3 trên web. Làm thế nào tôi có thể thêm tên thư mục ảo trong phương thức Url.Action()?Url.Action cho ứng dụng mvc3 được lưu trữ trong một thư mục con

cho ví dụ: ứng dụng của tôi là trong mydomain.com \ app

bây giờ khi tôi làm

lợi nhuận Url.Action action = "/ Trang chủ/Tạo" nhưng những gì tôi muốn là hành động = "/ app/Home/Tạo".

Điều gì nên được thực hiện?

Trả lời

7

Bạn không cần phải làm điều đó. Nếu ứng dụng của bạn được triển khai đúng trong IIS bên trong một thư mục ảo (giả sử App) thì trình trợ giúp Url.Action("Create", "Home") sẽ tạo ra /app/home/Create là url chính xác.

+1

Tôi thứ hai, tôi lưu trữ nhiều ứng dụng trong thư mục ảo và không bao giờ gặp sự cố này. – Beyers

+0

cảm ơn ... công việc này –

1

Bản đồ một tuyến đường (LƯU Ý: tuyến đường này đã xuất hiện trước khi các tuyến đường mặc định)

 context.MapRoute(
      name: "app", 
      url: "app/{controller}/{action}/{id}", 
      defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional } 
     ); 

Sau đó sử dụng Url.Action như thế này (sẽ cho bạn/app):

@Url.Action("Index", "Test") 

Bạn có thể tìm thấy các tuyến đường trong tệp Global.asax.cs của mình.

0

Cuối cùng tôi đang sử dụng Url.Content ("~/Trang chủ/Tạo") trả về toàn bộ URL liệu lưu trữ trên thư mục chính hay phụ.

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