示例#1
0
        private void renderMultiplePartials <TPartialViewModel>(StringBuilder builder, IEnumerable <TPartialViewModel> list)
            where TPartialViewModel : class
        {
            if (shouldRenderListWrapper())
            {
                var before = _tagGenerator.BeforePartial(elementRequest());
                builder.Append(before);
            }


            var render_multiple_count = list.Count();
            var current = 0;

            list.Each(m =>
            {
                if (shouldRenderItemWrapper())
                {
                    var beforeEach = _tagGenerator.BeforeEachofPartial(elementRequest(), current, render_multiple_count);
                    builder.Append(beforeEach);
                }

                var output = _renderer.Render <TPartialViewModel>(_partialView, m, _prefix, current);
                builder.Append(output);

                if (shouldRenderItemWrapper())
                {
                    var afterEach = _tagGenerator.AfterEachofPartial(elementRequest(), current, render_multiple_count);
                    builder.Append(afterEach);
                }
                current++;
            });

            if (shouldRenderListWrapper())
            {
                var after = _tagGenerator.AfterPartial(elementRequest());
                builder.Append(after);
            }
        }