public static string BuildUrlFromExpression <TController>(RequestContext context, RouteCollection routeCollection, Expression <Action <TController> > action) where TController : Controller { RouteValueDictionary routeValues = ExpressionHelper.GetRouteValuesFromExpression(action); VirtualPathData vpd = routeCollection.GetVirtualPath(context, routeValues); return((vpd == null) ? null : vpd.VirtualPath); }
/* public static MvcHtmlString CheckBoxFor<TModel>(this HtmlHelper<TModel> htmlHelper, * Expression<Func<TModel, bool>> expression) * where TModel : class * { * return CheckBoxFor(htmlHelper, expression, null); * } */ public static MvcHtmlString CheckBoxFor <TModel>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, bool> > expression, IDictionary <string, object> htmlAttributes) where TModel : class { var inputName = ExpressionHelper.GetInputName(expression); var local = GetValue(htmlHelper, expression); return(htmlHelper.CheckBox(inputName, local, htmlAttributes)); }
/* public static string ValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, * Expression<Func<TModel, TProperty>> expression) * where TModel : class * { * return PasswordFor(htmlHelper, expression, null); * }*/ /* public static string PasswordFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, * Expression<Func<TModel, TProperty>> expression) * where TModel : class * { * var inputName = ExpressionHelper.GetInputName(expression); * return htmlHelper.Password(inputName).ToString(); * } */ public static MvcHtmlString[] RadioButtonListFor <TModel, TProperty> (this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, IEnumerable <SelectListItem> selectList) where TModel : class { var inputName = ExpressionHelper.GetInputName(expression); return(htmlHelper.RadioButtonList(inputName, selectList)); }
/* public static string RadioButtonFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, * Expression<Func<TModel, TProperty>> expression, object value) * where TModel : class * { * return RadioButtonFor(htmlHelper, expression, value, null); * } */ public static string RadioButtonFor <TModel, TProperty>( this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object value, object htmlAttributes) where TModel : class { var inputName = ExpressionHelper.GetInputName(expression); object local = GetValue(htmlHelper, expression); if (local == null) { local = string.Empty; } return(htmlHelper.RadioButton(inputName, value, local.NotNullString() == value.NotNullString(), htmlAttributes).ToString()); }
public static MvcHtmlString DropDownListFor <Tm, Tp, Ti>(this HtmlHelper <Tm> htmlHelper, Expression <Func <Tm, Tp> > expression, IEnumerable <Ti> source, Func <Ti, object> textSelector, Func <Ti, object> valueSelector, IDictionary <string, object> htmlAttributes) where Tm : class { var inputName = ExpressionHelper.GetInputName(expression); // var local = GetValue(htmlHelper, expression); var selectItemList = new List <SelectListItem>(); var propertyInfo = ((MemberExpression)(expression.Body)).Member as PropertyInfo; if (LinqToSqlUtils.CanBeNull(propertyInfo)) { selectItemList.Add( new SelectListItem { Text = "Нет", Value = string.Empty, }); } selectItemList.AddRange(SelectListUtil.GetSelectItemList(source, textSelector, valueSelector)); return(htmlHelper.DropDownList(inputName, selectItemList, htmlAttributes)); }
public static MvcHtmlString ActionLink <TController>(this HtmlHelper helper, Expression <Action <TController> > action, string linkText, object htmlAttributes) where TController : Controller { RouteValueDictionary routingValues = ExpressionHelper.GetRouteValuesFromExpression(action); return(helper.RouteLink(linkText, routingValues, new RouteValueDictionary(htmlAttributes))); }