nancy - 如何使用 Nancy SSVE 在下拉列表中预选值

标签 nancy viewengine

我不知道如何使用 Super Simple View Engine 预选下拉菜单。

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

正如我从文档中看到的那样,条件语句仅适用于 bool 值。所以在我看来使用这样的东西是行不通的:

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

有什么方法可以实现我想要做的事情吗? 还是我必须使用其他 View 引擎?

最佳答案

我为解决 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; }
    }
}

关于nancy - 如何使用 Nancy SSVE 在下拉列表中预选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915259/

相关文章:

c# - Nancy 模块中的 Autofac 属性注入(inject)

asp.net - 如何从自托管 nancy 更改为 iis 下

asp.net - 人们发现哪些 ASP.NET MVC View 引擎比默认引擎更好?

c# - 在自定义 View 引擎中使用子文件夹

node.js - 如何在express js中授予用户特定的文件访问权限

unit-testing - Nancy.Testing 是否支持嵌套 Razor View ?

c# - 使用 TinyIoC 解析带有构造函数参数的具体类型

.net - 为 Visual Studio 安装 Razor View 引擎

mono - Nancy Mono 自主机不会在端口 80 上启动