public static ComponentBuilder <MvcBootstrapConfig <TModel>, CheckedControl> RadioFor <TComponent, TModel, TValue>( this BootstrapHelper <MvcBootstrapConfig <TModel>, TComponent> helper, Expression <Func <TModel, TValue> > expression, object value = null) where TComponent : Component, ICanCreate <CheckedControl> { ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, helper.GetConfig().HtmlHelper.ViewData); string expressionText = ExpressionHelper.GetExpressionText(expression); string name = GetControlName(helper, expressionText); string label = GetControlLabel(metadata, expressionText); string valueString = Convert.ToString(value, (IFormatProvider)CultureInfo.CurrentCulture); bool isChecked = metadata.Model != null && !string.IsNullOrEmpty(name) && string.Equals(metadata.Model.ToString(), valueString, StringComparison.OrdinalIgnoreCase); return(helper.Radio(name, label, null, value, isChecked)); }
public static ComponentBuilder <MvcBootstrapConfig <TModel>, CheckedControl> RadioFor <TComponent, TModel, TValue>( this BootstrapHelper <MvcBootstrapConfig <TModel>, TComponent> helper, Expression <Func <TModel, TValue> > expression, object value = null) where TComponent : Component, ICanCreate <CheckedControl> { ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, helper.GetConfig().HtmlHelper.ViewData); string expressionText = ExpressionHelper.GetExpressionText(expression); string name = GetControlName(helper, expressionText); string label = GetControlLabel(metadata, expressionText); bool isChecked = false; if (metadata.Model == null || !bool.TryParse(metadata.Model.ToString(), out isChecked)) { isChecked = false; } return(helper.Radio(name, label, null, value, isChecked)); }