Kendo UI - 以编程方式设置参数
Posted
技术标签:
【中文标题】Kendo UI - 以编程方式设置参数【英文标题】:Kendo UI - Set parameter programmatically 【发布时间】:2021-08-26 09:48:50 【问题描述】:# var myVar = false; #
<div>
@(html.Kendo().Stepper()
.Name("stepper")
.Orientation(StepperOrientationType.Horizontal)
.Label(true)
.Indicator(true)
.Steps(s =>
s.Add().Label("Step_1");
s.Add().Label("Step_2").Selected(true);
s.Add().Label("Step_3");
)
.ToClientTemplate())
</div>
以上设置 Step_2 为选中的。
如何以编程方式设置它?
例如s.Add().Label("Step_2").Selected(myVar);
【问题讨论】:
【参考方案1】:您正在弄乱语言层。 myVar
是 javascript,它在模板中,Html.Kendo()...
是 c#,所以你不能混合它们。您必须在外部模板更改它。
我会做这样的事情:
<div id="stepper-container" data-step="#= myVar #">
然后在模板被渲染后,我会使用 Javascript 来改变它:
let stepperIndex = $('#stepper-container').data('step');
$('#stepper').data('kendoStepper').select(stepperIndex);
【讨论】:
感谢您对语言层的现实检查。 Kendo .Selected() 不接受像 .Name() 那样的“#=myProperty#”语法,例如.Name("stepper#=Id#") 给每个人一个唯一的名字。我绝望地尝试了一个javascript变量。 你的 .select(stepperIndexindex) 相当于点击 UI...你知道如何设置值,这样你就不会触发动画和验证(不能将索引 2 设置为它将从索引 0 传递索引 1) @TDP 我不知道该怎么做,事实上我从来没有使用过那个小部件。一个问题:当您使用设置的值初始化小部件时,它不会触发动画?如果是,您可以尝试另一种方法。您可以尝试使用setOptions
设置它,而不是使用select()
设置值,例如:$('#stepper').data('kendoStepper').setOptions( value: stepperIndex )
。值得一试。
.setOptions 不幸的是没有工作,我找不到绕过动画的方法。不过感谢您的帮助。以上是关于Kendo UI - 以编程方式设置参数的主要内容,如果未能解决你的问题,请参考以下文章
使用 Kendo UI Mobile 以编程方式触发点击事件
如何以编程方式更改 Angular Kendo UI 网格页面索引?
在 kendo ui 网格中以编程方式更改 serverSorting