无法通过Html帮助程序中的父接口访问根接口属性

Ada*_*arr 5 .net razor asp.net-mvc-3

我觉得我错过了一些基本的东西.

我有2个接口.一个叫做IIdentifiable,它指定Id属性的存在.第二个可以是任何可识别的东西.见下面的代码.

public interface IIdentifiable
{
    Guid Id { get; set; }
}
public interface IPerson : IIdentifiable
{
    string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

问题:

当使用Html.HiddenFor(或任何其他帮助器方法)并且模型强烈地键入IPerson接口时,访问IIdentifiable接口的属性时出错.我可以通过直接针对Model.Id来访问和显示IIdentifiable属性中的数据,但是在使用lambda表达式并以这种方式访问​​模型时则不能.

我得到的错误是"无法找到属性*.IPerson.Id".

这只是在使用Razor视图引擎时的情况.我知道这是使用ASP.NET MVC 2和WebForms视图引擎.我还没有在使用WebForms视图引擎的ASP.NET MVC 3上尝试过它.

Dar*_*rov 2

是的,我已通过开具票证提请 Microsoft 注意此问题。另请参阅此相关问题