小编lbs*_*str的帖子

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

大图:

我发现了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
查看次数

我应该使用span标签还是p标签?

我在photoshop中制作了这个草图,我将其转换为HTML和CSS.

在此输入图像描述

HTML:

<div class="pricebox">
    <p class="price">360kr</p>
    <p class="min">40 min</p>
    <p class="info green">Körlektion</p>
</div>

<div class="pricebox">
    <p class="price">1700kr</p>
    <p class="min">Riskutbildnig 2</p>
    <p class="info yellow">Halkan</p>
</div>  
<div class="pricebox">
    <p class="price">500kr</p>
    <p class="min">Riskutbildning 1</p>
    <p class="info red">Riskettan</p>
</div>  
Run Code Online (Sandbox Code Playgroud)

CSS

body {
    font-family: "Myriad Pro",Myriad,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.pricebox {
    display:inline-block;
    border: 1px solid #EEEEEE;
    border-radius: 3px;
    width: 100px;
    height: 150px;
    margin: 5px;
}

.price{
    font-size: 28px;
    font-weight:300;
    color: #383838;
    padding: 11px;
}
.min {
    font-size: 11px;
    color: #909090;
    padding: 0 25px;
}
.info { …
Run Code Online (Sandbox Code Playgroud)

html css html5 semantic-markup css3

5
推荐指数
1
解决办法
3810
查看次数

将OrderedDictionary转换为Dictionary <string,string>的更好方法

问题:

如何从转换OrderedDictionaryDictionary<string, string>以简洁,但性能方法?

情况:

我有一个我无法触摸的lib,希望我通过一个Dictionary<string, string>.我想建立一个OrderedDictionary,因为在我的代码中,顺序非常重要.所以,我正在使用它OrderedDictionary,当它到达lib时,我需要将其转换为Dictionary<string, string>.

到目前为止我尝试了什么:

var dict = new Dictionary<string, string>();
var enumerator = MyOrderedDictionary.GetEnumerator();
while (enumerator.MoveNext())
{
    dict.Add(enumerator.Key as string, enumerator.Value as string);
}
Run Code Online (Sandbox Code Playgroud)

这里必须有改进的余地.有没有更简洁的方式来执行此转换?任何性能考虑?

我正在使用.NET 4.

.net .net-4.0

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

标签 统计

.net ×1

.net-4.0 ×1

asp.net ×1

asp.net-mvc-3 ×1

css ×1

css3 ×1

html ×1

html5 ×1

oop ×1

razor ×1

semantic-markup ×1