コード例 #1
0
 public static IEnumerable <IDictionary <string, object> > GetValidationRulesByPropertyName(string propertyName, ViewContext viewContext)
 {
     if (!string.IsNullOrEmpty(propertyName))
     {
         ModelExplorer modelExplorer = Portability.GetModelExpressionProvider(viewContext).GetModelExplorer(propertyName, viewContext.ViewData);
         return(GetValidationRules(propertyName, modelExplorer, viewContext));
     }
     return(Enumerable.Empty <IDictionary <string, object> >());
 }
コード例 #2
0
        public static void PrepareEditorFor <TModel, TProperty>(this WidgetBuilder builder, IHtmlHelperAdapter html, Expression <Func <TModel, TProperty> > expression)
        {
            ViewContext viewContext = html.ViewContext;

            Portability.IModelExpressionProviderAdapter modelExpressionProvider = Portability.GetModelExpressionProvider(viewContext);
            ModelExplorer modelExplorer  = modelExpressionProvider.GetModelExplorer(expression, new ViewDataDictionary <TModel>(viewContext.ViewData));
            string        expressionText = modelExpressionProvider.GetExpressionText(expression);

            builder.Options["name"]  = expressionText;
            builder.Options["value"] = modelExplorer?.Model;
            builder.ValidationRules  = DataAnnotationsHelper.GetValidationRules(expressionText, modelExplorer, viewContext);
        }
コード例 #3
0
 private static string GetExpressionText <M, P>(IHtmlHelperAdapter html, Expression <Func <M, P> > expr)
 {
     return(Portability.GetModelExpressionProvider(html.ViewContext).GetExpressionText(expr));
 }
コード例 #4
0
        private static ModelExplorer GetModelExplorer <TModel, TProperty>(IHtmlHelperAdapter html, Expression <Func <TModel, TProperty> > expression)
        {
            ViewDataDictionary <TModel> viewData = new ViewDataDictionary <TModel>(html.ViewContext.ViewData, null);

            return(Portability.GetModelExpressionProvider(html.ViewContext).GetModelExplorer(expression, viewData));
        }