如何使用Nancy SSVE

时间:2016-10-07 10:37:16

标签: nancy viewengine

我看不到如何使用超级简单视图引擎预先选择下拉列表。

我的模型有一个属性数据类型这是一个数字,我想在下拉列表中预先选择它。

正如我从文档条件中看到的那样,只能处理布尔值。所以在我的视图中使用这样的东西是行不通的:

<option value="1" @If.datatype==1 selected @EndIf>number</option>
<option value="2" @If.datatype==2 selected @EndIf>string</option>
...

有没有办法实现我想做的事情? 或者我是否必须使用其他视图引擎?

1 个答案:

答案 0 :(得分:0)

我为解决这个SSVE限制所做的是将bool属性添加到我用于下拉列表的类中,然后在从数据库中检索后设置该类。

public class MySettingsViewModel
{
    public int StateId { get; private set; }
    public List<StateSetting> States { get; set; }
    public void SetState()
    {
        if (StateId <= 0 || States == null || !States.Any())
        {
            return;
        }
        var state = States.First(x => x.Id == StateId);
        if (state == null) { return; }
        state.IsSelected = true;
    }
    public class StateSetting : State
    {
        public bool IsSelected { get; set; }
    }
}