获取 RibbonSpinEditItem 的当前值

Get Current Value of RibbonSpinEditItem

我有一个带有 RibbonSpinEditItem 的功能区,它需要 display/set 如果用户在这段时间内处于空闲状态,则在自动注销之前的分钟数。

目前配置如下:

    themeGroup.Items.Add(MVCxRibbonItemType.SpinEditItem, i =>
    {
        var spin = (RibbonSpinEditItem) i;
        spin.Text = "Log out after: ";
        spin.Name = "TimeBeforeIdle";
        spin.PropertiesSpinEdit.MaxValue = 60;
        spin.PropertiesSpinEdit.MinValue = 5;
        spin.Size = RibbonItemSize.Small;
        spin.Value = ModelSessionHelper.TimeBeforeIdle;
        spin.PropertiesSpinEdit.ClientSideEvents.ValueChanged = "function(s,e){ alert("+ spin.Value + "); }";
    });

现在的问题是,当我更改项目的值时,它仍然会提示第一个值。

示例:

原时间:警报 20

+1:警报 20

+1:警报 20

更改为 50:警报 20

我猜这是因为带有警报的函数是在我的控件创建的那一刻创建的,并使用了该控件当时具有的值。那么如何让警报使用当前值呢?

如果我必须使用 javascript 函数中的 s 参数,有人可以解释一下如何处理吗?因为如果我发出警报,我只会得到 Object [Object]。而且我不知道如何从中获取控件的值?

亲切的问候。

您可以使用GetValue方法:

spin.PropertiesSpinEdit.ClientSideEvents.ValueChanged = "function(s,e) { alert(s.GetValue()); }";