Webフォームでクエリ文字列を作成していて、nullの可能性があるパラメーターの値を処理しています。これらをチェックして修正する方法はたくさんありますが、私が見つけた最もエレガントな方法は次のとおりです。
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=で終わります。これを回避する方法は知っていますが、そもそもなぜ機能しなくなったのかわかりません。任意のヒント?