2017-06-06 137 views
0

我需要找到一种方法来将缺省值的缺省值设置为true,我将它作为参数传递,并且我并不总是设置它。更新:将布尔默认值设置为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; 
} 

我也试图让所有的布尔变量可空,但值仍然被设置为false

这些解决方案的工作,我不知道为什么。不管我做的属性是什么设置为false,如果它被设置为undefined这将是罚款,但布尔变量都默认为false

+0

'if(ischecked === undefined)ischecked = true;'? – LB2

+2

你最好在从配置中读取它的时候默认它,而不是在代码的其余部分点击默认值。 – Jamiec

+0

@Jamiec我刚刚更新了我的问题,我试图默认它,只要我调用XML配置,但它似乎并不工作 –

回答

6

尝试是这样的:

function showSaveCardControl(ischecked) { 
    if ('undefined' === typeof ischecked) ischecked = true; 
    $(".saveCardControl").slideDown().find("input").prop("checked", ischecked); 
} 
+0

如果(缺省的=== undefined),typeof不再需要。 –

+0

这个问题是缺陷未被传递过来,因为未定义它不被错误地传递过来,这是我遇到的主要问题 –

0

这应该做的伎俩:

function showSaveCardControl(ischecked) { 
    if(typeof ischecked == 'undefined') 
     ischecked = true; 

    $(".saveCardControl").slideDown().find("input").prop("checked", ischecked); 
} 
+0

问题是缺陷未被传递过来,因为未定义它不被传递为假,这是主要问题我有 –

0

假设属性是类的一部分,那么就设置它在类的构造函数的默认值设置为true,如果你有逻辑设置从配置价值将被覆盖的路线。

public class LukesClass 
{ 
public String whatever {get;set;} 
public bool isChecked {get;set;} 

public LukesClass() 
{ 
    isChecked = true; 
} 
} 
+0

属性正在传递负载的对象,我必须将它添加到它首先传入的构造函数,如果它已设置或我可以将它添加到任何? –

+0

我已经将它添加到正在序列化xml(更新后的问题)的对象构造函数中,但仍然无法正常工作 –

相关问题