or
@(Html.Kendo().Menu() .Name("AddWidgetMenu") .Orientation(MenuOrientation.Horizontal) .Items(items => { items.Add().Text("Add") .ImageUrl("~/Content/Images/plus.png") .ImageHtmlAttributes( new { width = 20, height = 20 }) .HtmlAttributes(new { id = "topWidgetMenuItem" }) .Items(children => { foreach (DashboardWidget widget in Model.AvailableWidgets) { children.Add() .Text(widget.Title) .HtmlAttributes(new { widgetid = widget.WidgetId, id = "addWidget" + widget.WidgetId, widgetRequestUrl = Url.Action("_WidgetAdd", "Home", new { widgetId = widget.WidgetId }) }); } }); }) )/*Add widget to menu*///initialize the menu widget$("#AddWidgetMenu").kendoMenu()// get a reference to the menu widgetvar menu = $("#AddWidgetMenu").data("kendoMenu");var addWidgetRequestUrl = $(contentElement).attr('data-addwidgetrequesturl');var widgetTitle = $(contentElement).attr('data-title');var noPrefixWidgetId = widgetId.replace("widget", "");menu.append({ text: widgetTitle, id: "addWidget" + noPrefixWidgetId, widgetid: noPrefixWidgetId, widgetRequestUrl: addWidgetRequestUrl }, $("#topWidgetMenuItem"));<li id="addWidgetUpcomingEvents" class="k-item k-state-default" widgetid="UpcomingEvents" widgetrequesturl="/AppPortal/Home/_WidgetAdd?widgetId=UpcomingEvents" role="menuitem"><li class="k-item k-state-default k-last" role="menuitem"><span class="k-link">Recent Sales3</span></li></ul></div>
<ul data-role="listview" id="tabletDrawer" data-click="drawerClick"> <li> <a href="views/oc.html" data-icon="fa-calculator">Order Calculator</a> </li> <li> <a href="views/oc.html" data-icon="fa-refresh">Reset</a> </li> <li> <a href="views/settings.html" data-icon="spc-settings">Settings</a> </li> <li> <a href="#logView" data-icon="spc-log">Log</a> </li> <li> <a href="skunkworks.html" data-icon="spc-settings">IT Development Area</a> </li> <li> <a href="debug.html" data-icon="spc-settings" class="spc-debug">IT Debug Info</a> </li></ul>public class ListController<TObject> : ApiController where TObject : class, IListItem{ [Queryable] public IEnumerable<TObject> Get() { var results = _repository.GetAll(); return results.AsEnumerable(); }public static class WebApiConfig{ public static void Register(HttpConfiguration config) { // Web API configuration and services var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); config.EnableCaseInsensitive(true); config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.All; // Web API routes config.MapHttpAttributeRoutes(); //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "api/{controller}/{id}", // defaults: new { id = RouteParameter.Optional } //); ODataModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet<LotStatus>("lotstatuses"); config.MapODataServiceRoute( routeName: "odata", routePrefix: "", model: builder.GetEdmModel()); }}<script> var remoteDataSource = new kendo.data.DataSource({ batch: false, serverPaging: true, serverSorting: true, serverFiltering: true, type: "odata", transport: { read: { url: "http://localhost:55097/lotstatuses", dataType: "json", //contentType: "application/json" }, create: { url: "http://localhost:55097/lotstatuses", dataType: "json", contentType: "application/json", type: "POST" }, update: { url: "http://localhost:55097/lotstatuses", dataType: "json", contentType: "application/json", type: "PUT" }, destroy: { url: "http://localhost:55097/lotstatuses", dataType: "json", contentType: "application/json", type: "DELETE" }, parameterMap: function (options, operation) { var paramMap = kendo.data.transports.odata.parameterMap(options); delete paramMap.$inlinecount; // <-- remove inlinecount parameter delete paramMap.$format; // <-- remove format parameter return paramMap; } }, schema: { data: function (data) { return data.value; }, total: function (data) { return data["odata.count"]; }, errors: function (data) { }, model: { id: "Code", fields: { Code: { type: "string", editable: true, nullable: false, validation: { required: true } }, Name: { type: "string", editable: true, nullable: false, validation: { required: true } } } } } }); $('#grid').kendoGrid({ dataSource: remoteDataSource, height: 500, toolbar: [{ name: "create", text: "Create new Lot Status" }], filterable: true, sortable: true, pageable: true, editable: "popup", columns: [ { field: "Code", title: "Code" }, { field: "Name", title: "Name" }, { command: ["edit", "destroy"] } ] });</script>