我有一个带有RibbonSpinEditItem的功能区,如果该用户闲置了一段时间,该功能区需要显示/设置用户自动注销之前的分钟数。

目前,它的配置如下:

    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]。而且我不知道如何从中获取控件的价值?

亲切的问候。

最佳答案

您可以使用GetValue方法:

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

10-01 04:44