[英]Ext.net: position of controls change by applying render from code behind c#
[英]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.