public static SelectBuilder <TModel, TValue> DropDownFor <TModel, TValue>(this FormHelper helper, Expression <Func <TModel, TValue> > expression, IEnumerable <SelectListItem> items) where TModel : new() { var typedHelper = helper.HtmlHelper as HtmlHelper <TModel>; if (typedHelper == null) { var container = new DummyViewDataContainer(new ViewDataDictionary <TModel>(new TModel())); typedHelper = new HtmlHelper <TModel>(helper.HtmlHelper.ViewContext, container); } return(new SelectBuilder <TModel, TValue>(typedHelper, expression) .Items(items) .Type(SelectControlType.DropDown)); }
private static HtmlHelper CreateHtmlHelper() { //The only "real" element in the HtmlHelper is the HttpContext //the rest in not actually used by the antiforgery code var controllerContext = new ControllerContext(HttpContextSource.Current, new RouteData(), new DummyController()); IView view = new DummyView(); var viewData = new ViewDataDictionary(); var tempData = new TempDataDictionary(); TextWriter writer = new StringWriter(); var viewContext = new ViewContext(controllerContext, view, viewData, tempData, writer); IViewDataContainer dataContainer = new DummyViewDataContainer(); var helper = new HtmlHelper(viewContext, dataContainer); return(helper); }
private static HtmlHelper CreateHtmlHelper() { //The only "real" element in the HtmlHelper is the HttpContext //the rest in not actually used by the antiforgery code var controllerContext = new ControllerContext(HttpContextSource.Current, new RouteData(), new DummyController()); IView view = new DummyView(); var viewData = new ViewDataDictionary(); var tempData = new TempDataDictionary(); TextWriter writer = new StringWriter(); var viewContext = new ViewContext(controllerContext, view, viewData, tempData, writer); IViewDataContainer dataContainer = new DummyViewDataContainer(); var helper = new HtmlHelper(viewContext, dataContainer); return helper; }