为什么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)
我如何才能使其工作(而不必诉诸于将参数转换为可空类型)?
将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'
}, {