public class Product {
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
public class ProductSearchRepository {
private List products = new List {
new Product { Id = 1, Name = "iPhone", Category = "Electronics", Price = 999.00m },
new Product { Id = 2, Name = "Samsung TV", Category = "Electronics", Price = 799.00m },
new Product { Id = 3, Name = "Nike Shoes", Category = "Clothing", Price = 69.99m },
new Product { Id = 4, Name = "Levis Jeans", Category = "Clothing", Price = 59.99m },
};
public IEnumerable GetCategories() {
return products.Select(p => p.Category).Distinct().OrderBy(c => c);
}
public IEnumerable SearchByCategory(string category) {
return products.Where(p => p.Category == category).OrderBy(p => p.Name);
}
}
public class ProductsController : Controller {
private ProductSearchRepository repository = new ProductSearchRepository();
public ActionResult Index(string category) {
ViewBag.Category = new SelectList(repository.GetCategories());
var products = string.IsNullOrEmpty(category) ? new List() : repository.SearchByCategory(category);
return View(products);
}
}
@model IEnumerable
@using (Html.BeginForm()) {
@Html.Label("Category:")
@Html.DropDownList("category", (IEnumerable) ViewBag.Category, "All Categories", new { onchange = "this.form.submit();" })
}
Name
Category
Price
@foreach (var product in Model) {
@product.Name
相关内容
热门资讯
前端-session、jwt
目录: (1)session (2...
linux入门---制作进度条
了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆
关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法
1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实...
一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理
Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实...
无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2
1.传纸条 AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令
常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下)
1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...