相关疑难解决方法(0)

将泛型模型的子类传递给剃刀视图

大图:

我发现了Razor似乎是一个限制,我无法想出一个好方法.

玩家们:

假设我有一个这样的模型:

public abstract class BaseFooModel<T>
    where T : BaseBarType
{
    public abstract string Title { get; } // ACCESSED BY VIEW
    public abstract Table<T> BuildTable();

    protected Table<T> _Table;
    public Table<T> Table // ACCESSED BY VIEW
    {
        get
        {
            if (_Table == null)
            {
                _Table = BuildTable();
            }
            return _Table;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样的子类:

public class MyFooModel : BaseFooModel<MyBarType>
{
    // ...
}

public class MyBarType : BaseBarType
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我希望能够传递MyFooModel到这样定义的剃刀视图:

// FooView.cshtml
@model …
Run Code Online (Sandbox Code Playgroud)

asp.net oop razor asp.net-mvc-3

12
推荐指数
1
解决办法
4211
查看次数

标签 统计

asp.net ×1

asp.net-mvc-3 ×1

oop ×1

razor ×1