我在剃刀视图中使用了以下代码。如何使用Kendo Radio按钮渲染相同的内容?主要是,我很难将enum
值分配给单选按钮值。
@if (Model == declaredEnum.Val1)
{
@Html.RadioButtonFor(l => l, (int)declaredEnum.Val1, new { @checked = "checked" });
}
else
{
@Html.RadioButtonFor(l => l, (int)declaredEnum.Val1);
}
@Html.LabelFor(l => l, "Label")
修改
Enum
Public Enum declaredEnum
{
Val1,
Val2
}
还有另一个具有相同代码的单选按钮,但它会检查val2
。目前的逻辑工作正常。我只需要转换为Kendo
控制而不是razor
。
答案 0 :(得分:0)
我意识到这篇文章很老了,但是我第一次使用Kendo UI,需要自己解决这个问题。以下代码段创建了一个名为" radio-of-radio-group"的单选按钮组。来自具有两个值的枚举。它默认选中第一个单选按钮:
<div class="form-group row">
@Html.Label(Enum.GetNames(typeof(declaredEnum)).ToList()[0], new { @class = "col-sm-2" })
@(Html.Kendo().RadioButtonFor(m => m.declaredEnum).Checked(true).Name(Enum.GetNames(typeof(declaredEnum)).ToList()[0])
.HtmlAttributes(new { @class = "col-sm-1", name = "name-of-radio-group"}))
@Html.Label(Enum.GetNames(typeof(declaredEnum)).ToList()[1], new { @class = "col-sm-2"})
@(Html.Kendo().RadioButtonFor(m => m.declaredEnum).Name(Enum.GetNames(typeof(declaredEnum)).ToList()[1])
.HtmlAttributes(new {@class = "col-sm-1", name = "name-of-radio-group"})
)
</div>
在我的例子中,我只有两个枚举值,所以我觉得不需要使用循环,而是直接索引枚举。如果有人不清楚m.declaredEnum表示强类型模型的属性,其中属性名称与枚举名称相同。