2008-11-25 46 views
85

Tôi không thể xem để truy xuất ID tôi đang gửi trong html.ActionLink trong bộ điều khiển của tôi, đây là những gì tôi đang cố gắng làmASP.NET MVC chuyển ID trong ActionLink đến bộ điều khiển

<li> 
    <%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li> 


    public ActionResult Modify(string ID) 
    { 

     ViewData["Title"] =ID; 
     return View(); 
    } 

Đó là hướng dẫn mà tôi đã làm theo đề xuất, nhưng nó không hoạt động, nó cũng đang đặt? Length = 5 ở cuối URL!

Cảm ơn trước!

chỉnh sửa: đây là con đường tôi đang sử dụng, đó là mặc định

 routes.MapRoute(
      "Default",            // Route name 
      "{controller}/{action}/{id}",       // URL with parameters 
      new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
     ); 

dường như ai đó đã downvoted hai gợi ý dưới đây nhưng không được đăng giải pháp của họ!

Trả lời

186

Không giống như bạn sử dụng quá tải chính xác của ActionLink. Hãy thử cách này: -

<%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%> 

Giả định chế độ xem của bạn nằm trong thư mục/Views/Villa. Nếu không thì tôi nghi ngờ bạn cần: -

<%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%> 
+4

Tốt cuộc gọi - Vấn đề là sự quá tải đầu tiên của chức năng đó mất "HtmlAttributes" như tham số thứ tư . Vì vậy, thêm ", null" buộc trình biên dịch sử dụng đối tượng nội tuyến của bạn làm tham số tuyến đường. –

+0

câu trả lời thứ hai của bạn là đúng! Không biết tại sao ai đó đã bình chọn bạn, cảm ơn. – Tablet

+1

THANKYOU! Học MVC3 ..... – felickz

10

Đừng đặt @ trước id

new { id = "1" } 

Khung "dịch" nó trong Dài? Khi có sự không phù hợp trong tham số/đường

20

Trong MVC 4 bạn có thể liên kết từ một điểm đến một bộ điều khiển đi qua các Id hoặc Primary Key qua

1

ID sẽ làm việc với @ đăng nhập phía trước cũng vậy, nhưng chúng ta phải thêm một tham số sau đó. đó là null

nhìn như:

@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null) 
3

On MVC 5 khá giống

@Html.ActionLink("LinkText", "ActionName", new { id = "id" }) 
Các vấn đề liên quan