public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");

            if (string.IsNullOrEmpty(ViewName))
                this.ViewName = context.RouteData.GetRequiredString("action");

            ViewEngineResult result = null;

            if (View == null)
                View = FindView(context).View;

            using (StringWriter output = new StringWriter())
            {
                ViewData["_isGriddlySettingsRequest"] = true;

                ViewContext viewContext = new ViewContext(context, View, ViewData, TempData, output);

                View.Render(viewContext, output);

                Settings = ViewData["settings"] as GriddlySettings;
            }

            if (result != null)
                result.ViewEngine.ReleaseView(context, View);
        }
        public override HtmlString RenderCell(object row, GriddlySettings settings, bool encode = true)
        {
            TagBuilder input = new TagBuilder("input");

            input.Attributes["name"] = "_rowselect";
            input.Attributes["type"] = "checkbox";

            if (settings.RowIds.Any())
            {
                bool valueSet = false;
                string key = "";
                foreach (var x in settings.RowIds)
                {
                    string val = "";
                    object result = x.Value(row);
                    if (result != null)
                        val = result.ToString();

                    input.Attributes["data-" + x.Key] = val;
                    key += "_" + val;

                    if (!valueSet)
                    {
                        input.Attributes["value"] = val;
                        valueSet = true;
                    }
                }

                input.Attributes["data-rowkey"] = key;
            }

            var inputAttributes = GenerateInputHtmlAttributes(row);

            if (inputAttributes != null)
            {
                input.MergeAttributes(inputAttributes);
            }

            return new HtmlString(input.ToString(TagRenderMode.SelfClosing));
        }
示例#3
0
 public abstract HtmlString RenderCell(object row, GriddlySettings settings, bool encode = true);