我必须支持一些aspx页面,而且我对apsx还很陌生。在下面的情况下,allWOs=";"假";,并且最终被传递给期望布尔值的方法。如何将字符串转换为布尔值?以下建议是否可行?
代码:
var allWOs = "<%= allWorkOrders %>";
BillingWork.MovePeriod(allWOs, MovePeriod_Callback);
错误:
Unable to cast object of type 'AjaxPro.JavaScriptString' to type 'AjaxPro.JavaScriptBoolean'.
建议:
var allWOs = $("#<%= allWorkOrders %>").val() != null ? $("#<%= allWorkOrders %>").prop('checked') : false;
在中使用var
时
var allWOs = "...";
编译器将字符串确定为类型。因此,要将布尔值传递给方法,您需要将字符串转换为布尔值,例如
bool allWOs = System.Convert.ToBoolean("<%= allWorkOrders %>");
如果除了该方法之外,在任何地方都不使用allWos,并且不需要对allWorkOrders进行额外验证,那么最简单的方法将是用";真";,或";false";正如上面所建议的那样。
BillingWork.MovePeriod(allWOs == "true", MovePeriod_Callback);