public class ProductsController : ApiController
{
static List<Product> products = new List<Product>
{
new Product { Id = , Name = "Tomato Soup", Category = "Groceries", Price = },
new Product { Id = , Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = , Name = "Hammer", Category = "Hardware", Price = 16.99M }
}; public IEnumerable<Product> GetAllProducts()
{
return products;
} public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
} // POST api/values
public IHttpActionResult Post([FromBody]Product value)
{
var product = products.FirstOrDefault((p) => p.Id == value.Id);
if (product == null)
{
products.Add(value);
}
return Ok(value);
} // PUT api/values/5
public IHttpActionResult Put([FromBody]Product value)
{
var product = products.FirstOrDefault((p) => p.Id == value.Id);
if (product != null)
{
product.Name = value.Name;
product.Category = value.Category;
product.Price = value.Price;
}
return Ok(value);
} // DELETE api/values/5
public IHttpActionResult Delete([FromBody]Product value)
{
var product = products.FirstOrDefault((p) => p.Id == value.Id);
if (product != null)
{
products.Remove(product);
}
return Ok("Success");
}
}
 @section scripts
{
<script type="text/javascript">
var uri = '/api/products'; $(document).ready(function () {
// Send an AJAX request
query();
}); function getRandom(n) {
return Math.floor(Math.random() * n + 1)
} function formatItem(item) {
return item.Id + " | " + item.Name + ': $' + item.Price + " [<a onclick='del(" + item.Id + ")'>删除</a>]";
} function query() {
$('#products').children("li").remove();
$.getJSON(uri)
.done(function (data) {
// On success, 'data' contains a list of products.
$.each(data, function (key, item) {
// Add a list item for the product.
$('<li>', { html: formatItem(item) }).appendTo($('#products'));
});
});
} function find() {
var id = $('#prodId').val();
if (!id) return;
$.getJSON(uri + '/' + id)
.done(function (data) {
$('#product').html(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#product').text('Error: ' + err);
});
} function add() {
$.ajax({
url: uri,
type: "POST",
data: { id: 4, name: 'test', category: 'c', price: 14 }
}).done(function (data) {
query();
}).fail(function (jqXHR, textStatus, err) {
alert('Error: ' + err);
});
} function update() {
var id = getRandom(4);
$.ajax({
url: uri,
type: "PUT",
data: { id: id, name: 'Hello World', category: 'ac', price: getRandom(20) }
}).done(function (data) {
query();
}).fail(function (jqXHR, textStatus, err) {
alert('Error: ' + err);
});
} function del(id) {
$.ajax({
url: uri,
type: "DELETE",
data: { id: id }
}).done(function (data) {
query();
}).fail(function (jqXHR, textStatus, err) {
alert('Error: ' + err);
});
}
</script>
}
<div>
<h1 class="error">查询</h1>
<div>
<h2>All Products</h2>
<ul id="products" />
</div>
<div>
<h2>Search by ID</h2>
<input type="text" id="prodId" size="5" />
<input type="button" value="Search" onclick="find();" />
<p id="product" />
</div>
</div>
<hr />
<div>
<h1 class="error">添加</h1>
<input type="button" value="Add" onclick="add();" />
</div>
<div>
<h1 class="error">更新</h1>
<input type="button" value="Update" onclick="update();" />
</div>

效果展示:

最新文章

  1. 解决springmvc报No converter found for return value of type: class java.util.ArrayList问题
  2. insert、update select from
  3. HTML5 video 支持air play
  4. PHP中array_chunk的用法
  5. linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】
  6. 无法连接 mysql
  7. 《C和指针》章节后编程练习解答参考——第5章
  8. Html----常见标签
  9. MySql中的变量定义(转)
  10. N种方法妙讲LIS算法
  11. QQ音乐产品经理黄楚雄:产品与用户的情感联系
  12. reverse函数实现指定页面跳转
  13. 超链接标签绑定JS事件&amp;&amp;不加&quot;javascript:;&quot;导致的杯具
  14. C#线程同步--线程通信
  15. 网络编程—tcp
  16. chrome浏览器下载内容存放位置
  17. php缩小png图片时,不损失透明色的办法
  18. [LeetCode_105]Construct Binary Tree from Preorder and Inorder Traversal
  19. Metrics.Net实践(2)在WEB中应用度量
  20. synchronized锁优化

热门文章

  1. windows下的node.js和npm的安装步骤详解
  2. vue 点击当前元素添加class 去掉兄弟的class
  3. 嵌入式Linux编译内核步骤 / 重点解决机器码问题 / 三星2451
  4. 裸机——I2C 2
  5. Matplotlib库介绍
  6. MyBatis---自动创建表
  7. android stadio svn 使用技巧
  8. CSS3 loading效果全
  9. DbVisualizer 解决中文乱码问题
  10. PowerDesigner如何将一个包里的表拷贝到另一个表以后在视图中也可以显示?