我需要找到一种方法将缺陷的默认值设置为true,我将其作为参数传递,但我并不总是设置它。
缺血是在我的配置文件中定义的,我有多个配置,有些是定义的,有些则不是。我不会理解为什么我使用不同的配置。当它没有定义时,它默认为false,但我需要它是真的。
function showSaveCardControl(ischecked) {
$(".saveCardControl").slideDown().find("input").prop("checked", ischecked);
}
如果尚未定义,我需要基本上检查复选框,但由于默认值为false,因此未选中该复选框。
更新
我将xml元素传递给c#属性。 xml将是我设置缺陷值的地方,但由于我没有将它设置在xml的某个地方,或者一旦它被转换为c#属性,它就被设置为false。我猜它是设置为属性试图调用该xml值。
我尝试使用属性设置默认值。
[XmlElement("EasyPaySaveCardControlChecked")]
[DefaultValue(true)]
public bool ischecked { get; set; }
我尝试过使用构造函数设置它。
public className()
{
ischecked = true;
}
我也试过让所有bools都可以为空,但值仍然设置为false
这些解决方案都不起作用,我不明白为什么。无论我做什么,属性设置为false,如果设置为undefined它会没事,但bool必须默认为false
答案 0 :(得分:6)
尝试这样的事情:
function showSaveCardControl(ischecked) {
if ('undefined' === typeof ischecked) ischecked = true;
$(".saveCardControl").slideDown().find("input").prop("checked", ischecked);
}
答案 1 :(得分:0)
这应该可以解决问题:
function showSaveCardControl(ischecked) {
if(typeof ischecked == 'undefined')
ischecked = true;
$(".saveCardControl").slideDown().find("input").prop("checked", ischecked);
}
答案 2 :(得分:0)
假设属性是类的一部分,那么只需在类构造函数中将其默认值设置为true,如果您有逻辑从配置中设置值,它将被覆盖在行上。
public class LukesClass
{
public String whatever {get;set;}
public bool isChecked {get;set;}
public LukesClass()
{
isChecked = true;
}
}
答案 3 :(得分:0)
尝试使用自动属性初始化程序(C#6.0和更高版本):
public bool isRequired { get; set; } = true;
我有一种情况,我需要一个未指定的xml bool导入为true而不是false。当标签指定true或不存在标签时,以上代码将导致isRequired为true。仅当标签将其定义为false时,它才会为false。