Tôi muốn bao gồm danh sách thả xuống các năm trên tất cả các trang trong trang web của mình. Tôi giả định một nơi tốt để đặt logic này là trong trang bố trí (_layout.cshtml). Nếu người dùng thay đổi năm tôi muốn thay đổi phiên của tôi (ModelBinder) để thay đổi là tốt. Điều này rất dễ dàng để làm với các hình thức web ASP.NET, nhưng dường như gần như không thể làm trong MVC. Tôi đã thử xem một phần không có may mắn. Có ai có ý kiến gì không?Trang Giao diện MVC 3, Mẫu dao cạo và Danh sách thả xuống
Trả lời
Như thường lệ, bạn có thể bắt đầu bằng cách xác định một mô hình điểm:
public class YearsViewModel
{
public string Year { get; set; }
public IEnumerable<SelectListItem> Years
{
get
{
return new SelectList(
Enumerable.Range(1900, 112)
.OrderByDescending(year => year)
.Select(year => new SelectListItem
{
Value = year.ToString(),
Text = year.ToString()
}
), "Value", "Text");
}
}
}
Sau đó, một bộ điều khiển:
public class YearsController : Controller
{
public ActionResult Index()
{
return View(new YearsViewModel());
}
[HttpPost]
public ActionResult Index(int year)
{
// TODO: do something with the selected year
return new EmptyResult();
}
}
và một cái nhìn tương ứng cho action index:
@model SomeAppName.Models.YearsViewModel
@{
Layout = null;
}
@Html.DropDownListFor(x => x.Year, Model.Years)
Và cuối cùng bên trong _Layout.cshtml
bạn có thể sử dụng bộ điều khiển này:
<div id="selectyear">@Html.Action("index", "years")</div>
và đính kèm một kịch bản tương ứng mà sẽ gửi một yêu cầu AJAX khi thay đổi giá trị:
$(function() {
$('#selectyear select').change(function() {
$.post('@Url.Action("index", "years")', { year: $(this).val() }, function (result) {
});
});
});
Hoàn hảo !!!! Cảm ơn bạn rất nhiều vì sự giúp đỡ! –
@Sam, bạn được chào đón. –
Tuyệt vời. Điều chỉnh nó cho một bộ chọn quốc gia mà không gặp rắc rối gì cả. Cảm ơn tải. –
- 1. Vòng lặp MVC trong dao cạo, danh sách thả xuống được tạo không có giá trị được chọn
- 2. Biểu đồ Microsoft, MVC 3 và Dao cạo
- 3. Mô hình chứa danh sách các mô hình (MVC-3, Dao cạo)
- 4. Danh sách thả xuống ASP.NET MVC
- 5. Danh sách thả xuống Combobox
- 6. MVC 3, (dao cạo) tải một phần với xác nhận
- 7. sử dụng ajax với danh sách thả xuống mvc3
- 8. Điền vào danh sách thả xuống khi lựa chọn một danh sách thả xuống khác
- 9. ASP.NET MVC - Bảo toàn lựa chọn DateTime không hợp lệ với 3 danh sách thả xuống
- 10. MVC 3 Danh sách thả xuống mất giá trị đã chọn với ViewBag
- 11. Tự động lùi lại trong danh sách thả xuống mvc
- 12. Mẫu giao diện người dùng miễn phí hoạt động với asp.net MVC và chế độ xem dao cạo
- 13. ASP.NET MVC nhận giá trị danh sách thả xuống
- 14. Nút radio Dao cạo MVC
- 15. Sự kiện biểu mẫu Symfony2 - Danh sách thả xuống
- 16. Spring MVC: Liên kết 3 danh sách thả xuống với thuộc tính ngày trong SimpleFormController
- 17. Danh sách thả xuống thả xuống Nguồn dữ liệu
- 18. Vòng đời trang dao cạo trong ASP.NET MVC
- 19. Đặt mục thả xuống được chọn MVC
- 20. Lớp học trong mẫu dao cạo
- 21. Cách lấy danh sách thả xuống để đăng biểu mẫu trong MVC
- 22. MVC dựa trên Dao cạo so với Ứng dụng Trang Đơn trong MVC 4
- 23. Điền một danh sách thả xuống dựa trên việc chọn danh sách thả xuống khác
- 24. danh sách thả xuống trong đường ray
- 25. Hình ảnh trong danh sách thả xuống
- 26. Sự khác biệt giữa trang MVC 3 Partial Page (Razor) và MVC 3 View với Layout (Razor)?
- 27. asp.net mvc 3 dao cạo. điều hướng để xem trên bảng, hãy nhấp vào
- 28. Mẫu biên tập MVC 3 có chức năng thả xuống động
- 29. Làm thế nào để tạo và EditorFor FileUpload trong asp.net MVC 3 dao cạo?
- 30. Lỗi trong danh sách thả xuống
gì vấn đề cụ thể được bạn trải qua? – marcind