我正在 Web 表单中创建一个查询字符串,并且我正在处理来自可能为空的参数的值。有很多方法可以检查和修复这些问题,但我发现最优雅的方法如下:
string pass;
pass = "BillabilityDetail.aspx?_startDate=" + _startDate.Text + "&_endDate=" + _endDate.Text +
"&_isContractor=" + _isContractor.SelectedValue + "&_busUnit=" + _busUnit.Text
+ "&_projectUnit=" + _projectUnit.SelectedValue + "&_leadCon=" + _leadCon.Value ?? -1
+ "&_acctExec=" + _acctExec.Value ?? -1 + "&_isBillable=" + _isBillable.SelectedValue +
"&_isActive=" + _isActive.SelectedValue + "&_include=" + _include.SelectedValue;
唯一的问题是……它不起作用。当代码到达这部分时,
"&_leadCon=" + _leadCon.Value ?? -1 + "&_acctExec=" + _acctExec.Value ?? -1
字符串停止赋值。所以字符串将以 &_leadCon= 结尾。我知道解决这个问题的方法,但我不知道为什么它首先停止工作。有小费吗?