Example #1
0
        /// <summary>
        /// Initialisiert eine neue Instanz der <see cref="T:System.Object"/>-Klasse.
        /// </summary>
        public MvcDynamicList(HtmlHelper htmlHelper, DynamicListModel dynamicListModel, IDictionary <string, TList> listItems)
        {
            Require.NotNull(htmlHelper, "htmlHelper");
            Require.NotNull(dynamicListModel, "dynamicListModel");

            _htmlHelper       = htmlHelper;
            _dynamicListModel = dynamicListModel;

            if (listItems == null)
            {
                _listItems = new Dictionary <string, TList>();
            }
            else
            {
                _listItems = listItems;
            }

            BeginDynamicList();

            _originalTemplatePrefix = _htmlHelper.ViewData.TemplateInfo.HtmlFieldPrefix;

            string temporaryTemplatePrefix = dynamicListModel.ExpressionText;

            if (!string.IsNullOrEmpty(_originalTemplatePrefix))
            {
                temporaryTemplatePrefix = _originalTemplatePrefix + "." + temporaryTemplatePrefix;
            }
            _htmlHelper.ViewData.TemplateInfo.HtmlFieldPrefix = temporaryTemplatePrefix;
        }
Example #2
0
        public MvcDynamicList <TList> BeginDynamicList <TList>(Expression <Func <TModel, IDictionary <string, TList> > > expression, RouteValueDictionary htmlAttributes = null)
        {
            DynamicListModel listModel     = new DynamicListModel(ExpressionHelper.GetExpressionText(expression), htmlAttributes);
            ModelMetadata    modelMetadata = ModelMetadata.FromLambdaExpression(expression, Helper.ViewData);

            return(new MvcDynamicList <TList>(Helper, listModel, modelMetadata.Model as IDictionary <string, TList>));
        }