为什么Asp ?Net抱怨Ext JS3在未选中复选框时没有传递bool到动作

本文关键字:bool 复选框 抱怨 Net Asp Ext JS3 为什么 | 更新日期: 2023-09-27 18:11:57

在Ext Js3应用程序中,我创建了一个带有复选框的表单,代码如下:

    }, {
        xtype: 'checkbox',
        fieldLabel: 'Is Automation Failure',
        inputValue: 'true',
        name: 'isAutomationFailure'
    }, {

当我选中复选框时,它正确地将isAutomationFailure: true发送到我的Asp。NET MVC的动作,和生活很好。但是,如果我不选中这个复选框,它会显示:

参数字典包含一个非空类型'System '的参数'isAutomationFailure'的空条目。

方法的布尔值

我知道如果复选框没有被选中,复选框不会发送任何东西,但我的印象是,如果没有指定,未指定的bool将默认为false。我的动作签名如下:

    public virtual JsonResult SetTestRunFailureInfo(int runId, bool isAutomationFailure, int? tfsWorkitemId)

我如何才能使其工作(而不必诉诸于将参数转换为可空类型)?

为什么Asp ?Net抱怨Ext JS3在未选中复选框时没有传递bool到动作

bool更改为bool?,将null更改为false。这是Ext JS的一个"特性"。

isAutomationFailure = isAutomationFailure ?? false;

我建议不要在复选框上使用inputValue属性。这解释了如何在表单提交时传递值:http://www.w3schools.com/jsref/prop_checkbox_value.asp

你应该使用'checked'属性;

 }, {
    xtype: 'checkbox',
    fieldLabel: 'Is Automation Failure',
    checked: true,
    name: 'isAutomationFailure'
}, {