I'm using KendoUI along with MVC3. I want to load my dropdown in the add/update template. Right now it loads the for but as a textbox.
.cshtml
Popup Editor .cshtml: Currently no dropdown..not sure how to load or display data.
Model:
Controller:
.cshtml
@using (Html.BeginForm("Index", "CodeManager")){ <p> <label for="startsWith"> <strong>Category:</strong></label> @Html.DropDownList("Classifications", ViewData["ClassificationItems"] as SelectList, new { style = "width:100px;" }) <button type="submit" class="u-button"> Search</button> </p>}@if (Model.Count() > 0){ @(Html.Kendo().Grid(Model) .Name("CodeManager") .Columns(columns => { columns.Bound(p => p.CodeID); columns.Bound(p => p.Title); columns.Bound(p => p.Status); columns.Command(command => { command.Edit(); }).Width(200); }) .ColumnMenu() .ToolBar(toolBar => toolBar.Create().Text("Add New Code")) .Sortable() .Scrollable() .Groupable() .Pageable() .Filterable() .Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple)) .Resizable(resize => resize.Columns(true)) .DataSource(dataSource => dataSource .Ajax() .Events(events => events.Error("error_handler")) .ServerOperation(false) .Model(model => model.Id(p => p.Id)) .Update(update => update.Action("Code", "CodeManager", new { classifications = @ViewBag.SelectedCatgory })) .Create(create => create.Action("Code", "CodeManager")) ) .Editable(ed => ed.Mode(GridEditMode.PopUp)) )}else{ @Html.Label("No records matched search criteria.");}Popup Editor .cshtml: Currently no dropdown..not sure how to load or display data.
@model hrmsMVC.Areas.HRMS.Models.CodeModel<fieldset> <legend>Code</legend> @Html.HiddenFor(model => model.CodeID) <div class="editor-label"> @Html.LabelFor(model => model.CodeID) </div> <div class="editor-field"> @Html.EditorFor(model => model.CodeID) @Html.ValidationMessageFor(model => model.CodeID) </div> <div class="editor-label"> @Html.LabelFor(model => model.Title) </div> <div class="editor-field"> @Html.EditorFor(model => model.Title) @Html.ValidationMessageFor(model => model.Title) </div> <div class="editor-field"> @Html.DisplayFor(model => model.Status) </div></fieldset>Model:
public class CodeModel { [Key] [ScaffoldColumn(false)] public int Id { get; set; } [DisplayName("Code ID")] [Required(ErrorMessage = "Code is required.")] [StringLength(2, ErrorMessage = "Code can be at most 2 characters")] public string CodeID { get; set; } [Required] public string Title { get; set; } [HiddenInput(DisplayValue = false)] public string Status { get; set; } public bool Active { get; set; } public string Category { get; set; } [ScaffoldColumn(false)] public int UserID { get; set; } }Controller:
public ActionResult Index(string classifications = "") { ViewData["Classifications"] = new SelectList(Classifications.List, "ClassificationText", "ClassificationText", classifications); var criterion = new Criterion("Category", Operator.Equals, classifications); var codeModels = new List<CodeModel>(); ViewBag.SelectedCatgory = classifications ?? "Type"; if (Request.HttpMethod == "POST") { // var model = _codeRepository.Search(classifications).ToModel(); var model = _codeRepository.GetList(criterion).ToModel(); return View(model); } return View(codeModels); }