Example #1
0
        protected ModelExplorer GetModelExplorer <TResult>(Expression <Func <TModel, TResult> > expression)
        {
            if (expression == null)
            {
                throw new ArgumentNullException(nameof(expression));
            }

            var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression(expression, ViewData, MetadataProvider);

            if (modelExplorer == null)
            {
                var expressionName = GetExpressionName(expression);
                throw new InvalidOperationException(Resources.FormatHtmlHelper_NullModelMetadata(expressionName));
            }

            return(modelExplorer);
        }
Example #2
0
        /// <inheritdoc />
        public string DisplayNameForInnerType <TModelItem, TResult>(
            Expression <Func <TModelItem, TResult> > expression)
        {
            if (expression == null)
            {
                throw new ArgumentNullException(nameof(expression));
            }

            var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression <TModelItem, TResult>(
                expression,
                new ViewDataDictionary <TModelItem>(ViewData, model: null),
                MetadataProvider);

            var expressionText = ExpressionHelper.GetExpressionText(expression);

            if (modelExplorer == null)
            {
                throw new InvalidOperationException(Resources.FormatHtmlHelper_NullModelMetadata(expressionText));
            }

            return(GenerateDisplayName(modelExplorer, expressionText));
        }