Tôi đã sử dụng mẫu kho lưu trữ được mô tả trong blog của Bob Cravens để tạo ứng dụng của tôi, nhưng tôi mới có một chút mới và vẫn đang tìm đường đi xung quanh nó. Tôi muốn tiêm đối tượng DataService của tôi vào hàm tạo của ViewModel của tôi để tôi có thể tạo một đối tượng SelectList và tạo một hộp thả xuống trong khung nhìn của tôi. Tuy nhiên tôi không thể có vẻ để có được các bindings để làm việc, mỗi khi tôi tạo ViewModel nó tìm/thực hiện các constructor parameterless! Tôi đã thử nhiều cách khác nhau bằng cách sử dụng câu trả lời ở đây trên SO nhưng vô ích. Trợ giúp sẽ được đánh giá cao.Làm thế nào để truyền một đối tượng vào hàm tạo của VIewModel của tôi? ASP.NET MVC 3, Ninject
ViewModel:
public class ServerCreateViewModel
{
public SelectList Companies { get; private set; }
public ServerCreateViewModel()
{
}
public ServerCreateViewModel(DataService _dataService)
{
Companies = new SelectList(_dataService.Companies.All(), "Id", "CompanyName");
}
Ninject mô-đun:
Bind<DataService>().ToSelf()
.InRequestScope();
var _dataService = Kernel.Get<DataService>();
Bind<ServerCreateViewModel>()
.ToSelf()
.WithConstructorArgument("_dataService", _dataService);
//Bind<ServerCreateViewModel>()
// .ToSelf()
// .WithConstructorArgument("_dataService", ctx => ctx.Kernel.Get<DataService>());
Bộ điều khiển:
public ActionResult Create(ServerCreateViewModel viewModel)
{
return View(viewModel);
}
Cảm ơn, đó là cách tôi đã có nó ban đầu nhưng tôi đã hoàn toàn không chắc chắn nếu đó là cách chính xác để làm điều đó! Đánh giá cao được đặt ngay trên đó. – Kiada
Có thể giải thích cho cử tri xuống không? –