/// <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; }
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>)); }