Tôi đang sử dụng ASP.Net MVC. Dưới đây là các đoạn mã của tôi từ một bộ điều khiển có tên Khóa học:URL.Action bao gồm id khi xây dựng URL
public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show", "Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrl chọn bất kỳ giá trị nào là thông số "id". Vì vậy, viewmodel.ShowUrl trở thành "/ Course/Show/151" (giá trị của id là 151); Tôi muốn có thể đặt phần id trên máy khách dựa trên tương tác của người dùng. Tôi muốn giá trị của viewmodel.ShowUrl là "/ Course/Show".
Điều này có vẻ giống như một lỗi đối với tôi. Tôi không nói cho Url.Action bao gồm một giá trị id. Nó tự làm nó. Nếu tôi muốn đặt giá trị id thì tôi sẽ làm điều gì đó như sau:
var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});
Vì vậy, làm thế nào để bạn ngăn chặn MVC thêm giá trị id? Tôi có thể hardcode viewmodel.ShowUrl để "/ Course/Show" nhưng đó có vẻ là một giải pháp kludgy. Cảm ơn.
tôi không thể nhớ chính xác nhưng 'Routedata' là' ViewData' và đó là lý do tại sao nó được thông qua. Tôi nghĩ bạn có thể làm 'Url.Action (" Show "," Course ", new {});' hoặc làm trống 'RouteData' trên đối tượng' ViewData'. –