@Model和@ViewData.Model有什么区别?

cam*_*ron 10 asp.net-mvc razor asp.net-mvc-3

在我的视图页面中,两者似乎都有效.但是@Model,视觉工作室告诉我它是WebViewPage<T>.Model,而且@ViewData.Model,它是ViewDataDictionary<T>.Model.那么真正的区别是什么呢?

nem*_*esv 16

没有没有区别.实际上WebViewPage<T>.Model只是打电话ViewData.Model.

您可以检查codeplex上实现:

public abstract class WebViewPage<TModel> : WebViewPage
{
    //...

    public new TModel Model
    {
        get { return ViewData.Model; }
    }

    //...
}
Run Code Online (Sandbox Code Playgroud)