public static IEnumerable <SelectListItem> GetSelectListSource <TModel, TProperty>( this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression) { var metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData); var selectListSourceName = BindSelectListsAttribute.BuildViewDataKey(metadata.PropertyName); return((IEnumerable <SelectListItem>)htmlHelper.ViewData[selectListSourceName]); }
public static ControllerBase ExecuteOnResultExecutingTest <TViewModel>(this BindSelectListsAttribute attribute, TViewModel viewModel) { var viewData = new ViewDataDictionary(viewModel); var mockController = new Mock <ControllerBase>(); mockController.Object.ViewData = viewData; var mockFilterContext = new Mock <ResultExecutingContext>(); mockFilterContext.Setup(m => m.Controller) .Returns(mockController.Object); attribute.OnResultExecuting(mockFilterContext.Object); return(mockController.Object); }