我有一个kendo下拉列表,想要为它添加一个属性,但只有在满足某些条件的情况下。这可能,如果是的话,语法是什么?以下是我的想法。
@(Html.Kendo().DropDownList()
.Name("My Dropdown List")
.Value(Model.xxx)
If (some condition){
.Height(1000)
}
.DataTextField("MYDESCRIPTIEN")
.DataValueField("MYFIELD")
.HtmlAttributes(new { style = "width:300px" })
)
答案 0 :(得分:1)
更新:关于高度,我担心你运气不好,因为Height()方法需要一个非空的整数值,它总是被序列化到客户端。唯一的选择是在外部条件语句中使用两个不同的小部件声明。
===
每个fluent方法都需要某个类型的值,或者返回此类型值的表达式。此外,每个配置设置都有一个默认值。
所以你有几个选择:
期望操作的流畅方法可以以不同方式管理,您可以使用标准条件语句,而不是三元组。
以下是所有上述情况的示例:
@{
bool myCondition = false;
}
@(Html.Kendo().DropDownList()
.HtmlAttributes(myCondition ? new { style = "width: 100%" } : new object { /* empty object */ } )
.Events(e => {
if (myCondition)
{
// nothing here this time
}
else
{
e.DataBound("onDataBound");
}
})
)
<script>
function onDataBound(e) {
console.log("dataBound");
}
</script>
答案 1 :(得分:0)
您好,您应该可以像这样添加事件:
@(Html.Kendo().DropDownList()
.Name("My Dropdown List")
.Value(Model.xxx)
.DataTextField("MYDESCRIPTIEN")
.DataValueField("MYFIELD")
.HtmlAttributes(new { style = "width:300px" })
.Events(e => e.Change("OnDropDownChanged"));
)
<强> JAVASCRIPT 强>
function OnDropDownChanged(e)
{
//Do stuff to meet condition
}