or
@model Product@using(Html.BeginForm("InsertProduct","Product")){ Html.TextBoxFor(val => val.Name); Html.TextBoxFor(val => val.Id); }<button id="addButton">Add</button> <script type="text/javascript"> $(document).ready(function () { var window = $("#window").kendoWindow({ height: "200px", modal: true, title: "Centered Window", visible: false, width: "200px" }).data("kendoWindow"); });$("#addButton ").click(function () { var window = $("#window").data("kendoWindow"); window.content("@Html.Partial("PartialViewSample ",new Product()).ToHtmlString()"); window.center(); window.open(); });@(Html.Kendo().TreeView().Name("treeviewDepartments") .BindTo(Model.Departments, (NavigationBindingFactory<TreeViewItem> mappings) => { mappings.For<AddDepartmentTreeModel>(binding => binding.ItemDataBound((item, dapartment) => { item.Text = dapartment.Name; }) .Children(department => department.Departments)); }) )function addDepartment() { var treeView = $("#treeviewDepartments").data("kendoTreeView"); var selectedNode = treeView.select(); // passing a falsy value as the second append() parameter // will append the new node to the root group if (selectedNode.length == 0) { selectedNode = null; } treeView.append({ text: "New department" }, selectedNode); }@(Html.Kendo().Grid<ProductViewModel>() .Name("productsGrid") .Columns(columns => { columns.Bound(p => p.ProductName) .ClientFooterTemplate("Total Count: #=count#") .ClientGroupFooterTemplate("Count: #=count#"); columns.Bound(p => p.UnitPrice).Format("{0:C}") .ClientFooterTemplate("<div>Sum: #= sum #</div>") .ClientGroupFooterTemplate("<div>Sum: #= sum #</div>"); columns.Bound(p => p.UnitsOnOrder) .ClientFooterTemplate("Average: #=average#") .ClientGroupFooterTemplate("Average: #=average#"); columns.Bound(p => p.UnitsInStock) .ClientGroupHeaderTemplate("Units In Stock: #= value # (Count: #= count#)") .ClientFooterTemplate("<div>Min: #= min #</div><div>Max: #= max #</div>"); }) .DataSource(dataSource => dataSource .Ajax() .Aggregates(aggregates => { aggregates.Add(p => p.UnitsInStock).Min().Max().Count(); aggregates.Add(p => p.UnitsOnOrder).Average(); aggregates.Add(p => p.ProductName).Count(); aggregates.Add(p => p.UnitPrice).Sum(); }) .Group(groups => groups.Add(p => p.Category)) .Read(read => read.Action("Products", "Home")) )public ActionResult Products([DataSourceRequest] DataSourceRequest request) { return Json(GetProducts().ToDataSourceResult(request)); } private IEnumerable<ProductViewModel> GetProducts() { var products = new List<ProductViewModel>(); products.Add(new ProductViewModel() { Category = "Food", ProductName = "Pasta", UnitPrice = 39.00m, UnitsInStock = 1, UnitsOnOrder = 5 }); products.Add(new ProductViewModel() { Category = "Food", ProductName = "Salami", UnitPrice = 21.00m, UnitsInStock = 2, UnitsOnOrder = 3 }); products.Add(new ProductViewModel() { Category = "Food", ProductName = "Bratwurst", UnitPrice = 39.00m, UnitsInStock = 2, UnitsOnOrder = 7 }); return products.AsEnumerable(); }@model IEnumerable<ProductViewModel>@(Html.Kendo().Grid(Model) .Name("productsGrid") .Columns(columns => { columns.Bound(p => p.ProductName) .ClientFooterTemplate("Total Count: #=count#") .ClientGroupFooterTemplate("Count: #=count#"); columns.Bound(p => p.UnitPrice).Format("{0:C}") .ClientFooterTemplate("<div>Sum: #= sum #</div>") .ClientGroupFooterTemplate("<div>Sum: #= sum #</div>"); columns.Bound(p => p.UnitsOnOrder) .ClientFooterTemplate("Average: #=average#") .ClientGroupFooterTemplate("Average: #=average#"); columns.Bound(p => p.UnitsInStock) .ClientGroupHeaderTemplate("Units In Stock: #= value # (Count: #= count#)") .ClientFooterTemplate("<div>Min: #= min #</div><div>Max: #= max #</div>"); }) .DataSource(dataSource => dataSource .Server() .Aggregates(aggregates => { aggregates.Add(p => p.UnitsInStock).Min().Max().Count(); aggregates.Add(p => p.UnitsOnOrder).Average(); aggregates.Add(p => p.ProductName).Count(); aggregates.Add(p => p.UnitPrice).Sum(); }) .Group(groups => groups.Add(p => p.Category)) )