繁体   English   中英

代码后面的C#ext更改按钮的图标

[英]C# ext change button's icon from code behind

我有这个按钮:

<ext:Button Flat="true" runat="server" ID="btnCheckV" Icon="CheckError" Scale="Large" ToolTip="Is Valid" >
        <DirectEvents>
            <Click OnEvent="CheckValidity" />
        </DirectEvents>
</ext:Button>

我想在后面的代码中更改按钮的图标(勾选表示有效,而勾选表示无效)。 所以我这样做:

protected void CheckValidity(object sender, DirectEventArgs e)
    {
         //....validation check code
         if (isValid == true)
        {
            btnCheckV.Icon = Icon.Tick;
            e.Success = true;
        }
        else
        {
            btnCheckV.Icon = Icon.Cross;
            e.Success = false;
        }
    }

它有效,但是只有我第一次检查。 例如,如果我第一次检查是有效的,它会打勾,但是如果我再次检查并且数据是无效的,它将不会变成交叉

问题在这一行:

e.Success = false;

如果在Direct Event中将Success字段设置为true,则您的响应如下所示:

{script:"btnCheckV.setIconCls(\"#Tick\");"}

当您将其设置为false时,它看起来像这样:

{success:false}

如您所见,仅发送直接事件的状态-与按钮中的图标无关。

将您的代码更改为:

protected void CheckValidity(object sender, DirectEventArgs e)
{
    //....validation check code

    if (isValid == true)
        btnCheckV.Icon = Icon.Tick;
    else
        btnCheckV.Icon = Icon.Cross;

    e.Success = true;
}

它将毫无问题地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM