Пример #1
0
 public static string BuildUrl <T>(this ControllerContext context, T item, RouteValueDictionary routeValues, IList <IGridDataKey <T> > dataKeys)
 {
     foreach (var dataKey in dataKeys.Where(dataKey => routeValues.ContainsKey(dataKey.Name)))
     {
         routeValues[dataKey.Name] = dataKey.GetValue(item);
     }
     return(context.BuildUrl(routeValues));
 }
Пример #2
0
        public virtual string Render(T dataItem, IList <IGridDataKey <T> > dataKeys, ControllerContext context)
        {
            if (CheckIfHidden(dataItem))
            {
                return(string.Empty);
            }
            var url = dataItem == null
                ? context.BuildUrl(RouteValueDictionary, dataKeys)
                : context.BuildUrl(dataItem, RouteValueDictionary, dataKeys);

            if (!TextOnly)
            {
                var image = Tag.A(url).Style("display:inline-block")
                            .Html(Tag.Span.Class("grid-icon", ImageUrl).Title(AlternateText))
                            .MergeAttributes(HtmlAttributes.DictionaryParse());
                return(image.ToString());
            }
            return(Tag.A(url).Style("display:inline-block").Class(ImageUrl)
                   .Text(AlternateText).MergeAttributes(HtmlAttributes.DictionaryParse())
                   .ToString());
        }
Пример #3
0
 public static string BuildUrl(this ControllerContext context, RouteValueDictionary routeValues, IEnumerable <IGridDataKey> dataKeys)
 {
     foreach (var dataKey in dataKeys)
     {
         if (routeValues.ContainsKey(dataKey.Name))
         {
             var queryString = context.HttpContext.Request.QueryString;
             if (queryString.HasKeys() && queryString[dataKey.Name] != null)
             {
                 routeValues[dataKey.Name] = queryString[dataKey.Name];
             }
         }
     }
     return(context.BuildUrl(routeValues));
 }