gpt4 book ai didi

c# - 具有默认值的可空属性的自定义控件

转载 作者:行者123 更新时间:2023-11-30 18:06:22 25 4
gpt4 key购买 nike

我可以创建一个带有默认值的自定义控件:

private bool exclue = false;
public bool Exclude { get { return exclue; } set { exclue = value; } }

我可以用可为空的属性创建相同的东西:

private EntityStatuses? status = EntityStatuses.Active;
public EntityStatuses? Status { get { return status; } set { status = value; } }

但是我如何在使用自定义控件时在标记中将属性设置为 null?

<MyControls:Control ID="Con" runat="server" Status="?" >

最佳答案

对于需要在标记中设置为 null 的可空属性,有一个解决方法(有限制)。

不幸的是,<%= %>在空值的情况下将不起作用,因为服务器控件上的属性的字符串值被评估并解析为其所需的类型(仅简单值,而不是表达式)。但这应该适用于数据绑定(bind)构造:

<MyControls:Control ID="Con" runat="server" Status="<%#(EntityStatuses?)null %>">

现在,问题是:使用数据绑定(bind)表达式需要执行 DataBind()控件本身或整个页面上的方法。最简单的方法是确保您的控件的 DataBind()方法被调用。

因此,这是一种仅有限制的解决方法。

关于c# - 具有默认值的可空属性的自定义控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com