我有以下服务界面:
public interface IGrantApplicationService
{
IEnumerable<T> GetAll();
}
以下是我对界面的实现:
public class GrantApplicationService : IGrantApplicationService
{
public IEnumerable<GrantApplication> GetAll()
{
// Code here
}
public EditGrantApplicationViewModel CreateEditGrantApplicationViewModel()
{
// Code here
}
}
我的控制器:
public class GrantApplicationController : Controller
{
private IGrantApplicationService grantApplicationService;
public GrantApplicationController(IGrantApplicationService grantApplicationService)
{
this.grantApplicationService = grantApplicationService;
}
public ActionResult Create()
{
// I am trying to create my view model like this and populate it with data
EditGrantApplicationViewModel viewModel = grantApplicationService.CreateEditGrantApplicationViewModel();
return View(viewModel);
}
}
请参阅我的Create方法,我试图通过服务创建我的视图模型,但是当我点击时。然后似乎没有选择CreateEditGrantApplicationViewModel的选项,只有GetAll存在。为什么是这样?我有所有正确的参考资料。
答案 0 :(得分:1)
您需要定义
EditGrantApplicationViewModel CreateEditGrantApplicationViewModel();
在IGrantApplicationService
界面上。
目前控制器只知道接口上的内容而不是类。
答案 1 :(得分:1)
您的grantApplicationService
字段被声明为IGrantApplicationService
,但您的方法CreateEditGrantApplicationViewModel
不在界面中。只需在界面中添加CreateEditGrantApplicationViewModel
,您就可以了。