public bool IsTruthy(object value) { if (value == null) { return false; } if (value is bool) { return (bool)value; } if (value is string) { return !string.IsNullOrEmpty((string)value); } if (value is IEnumerable) { return ((IEnumerable)value).GetEnumerator().MoveNext(); } if (value is DataTable) { return ((DataTable)value).Rows.Count > 0; } return true; }
public static void IfHelper(RenderContext context, IList<object> arguments, IDictionary<string, object> options, RenderBlock fn, RenderBlock inverse) { var value = arguments[0]; if (context.IsTruthy(value)) { fn(null); } else { inverse(null); } }