我的基础模型如下:
namespace MyNamespace
{
public abstract class ViewModelBase
{
public string Environment { get; set; }
}
}
我还有其他2个型号:
namespace MyNamespace
{
public class ErrorViewModel : ViewModelBase
{
public string Error { get; set; }
}
}
namespace MyNamespace
{
public class SetPageViewModel : ViewModelBase
{
public string Name {get; set;}
public string Address { get; set; }
}
}
我在我的控制器中使用它:
public IActionResult Index()
{
var tuple = new Tuple<ErrorViewModel, SetPageViewModel>(new ErrorViewModel(), new SetPageViewModel ());
// tuple.Item1.Environment = "Dev";
return View(tuple);
}
通过以上设置,我想在我的视图中使用以下内容来访问这些模型:
@model Tuple<ErrorViewModel, SetPageViewModel>
但我一直在收到错误:
InvalidOperationException:传递给的模型项 ViewDataDictionary属于类型 'System.Tuple`2 [MyNamespace.ErrorViewModel,MyNamespace.SetPageViewModel]', 但是这个ViewDataDictionary实例需要一个类型的模型项 'MyNamespace.ViewModelBase'。
我尝试了以下内容:
注释掉我定义我的元组的视图部分以查看错误是否消失,但仍然出现此错误。
对于这两个模型,我试图删除ViewModelBase,即不从基础模型继承,但我仍然是上面的错误。
不确定我在这里还缺少什么。