Angularjs $scope未在DOM中标识
我正在使用ODataWebAPI将服务响应拉入AngularJS<代码>$scope未使用Angularjs $scope未在DOM中标识,angularjs,api,web,angularjs-ng-repeat,odata,Angularjs,Api,Web,Angularjs Ng Repeat,Odata,我正在使用ODataWebAPI将服务响应拉入AngularJS$scope未使用在DOM中标识连接到我的控制器的 检查: app.js Index.cshtml ProductsController.cs 如果有人能帮忙,我会很感激的。。。 谢谢 如果我加上: {{ ProductData | json }} 将此添加到ul下面,并显示它呈现的内容(如果有):{{ProductData | json}}是否有理由在dom上的两个位置使用ng应用程序?是的,如果我添加{{ProductDat
在DOM中标识连接到我的控制器的
检查:
app.js
Index.cshtml
ProductsController.cs
如果有人能帮忙,我会很感激的。。。
谢谢
如果我加上:
{{ ProductData | json }}
将此添加到ul下面,并显示它呈现的内容(如果有):{{ProductData | json}}是否有理由在dom上的两个位置使用ng应用程序?是的,如果我添加{{ProductData | json},它会显示json数据{“odata.metadata”:“value”:[{“ID”:1,“Name”:“Hat”,“Price”:“15.00”,“Category”:“Apparel”},现在如何在- 就行了。非常感谢,先生,我向您致敬。
<!DOCTYPE html>
<html ng-app="productsApp">
<head lang="en">
<meta charset="utf-8">
<title>CRUD App using AngularJS</title>
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.10/angular.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.10/angular-route.min.js"></script>
<script src="~/Scripts/app.js"></script>
</head>
<body >
<div ng-app="productsApp" ng-controller="prodCtrl">
<ul ng-repeat="product in ProductData">
<li>{{product.ID}}</li>
<li>{{product.Name}}</li>
<li>{{product.Price}}</li>
<li>{{product.Category}}</li>
</ul>
</div>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ProductService.Models
{
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using System.Web.Http.OData;
using System.Web.Http.OData.Routing;
using ProductService.Models;
namespace ProductService.Controllers
{
/*
To add a route for this controller, merge these statements into the Register method of the WebApiConfig class. Note that OData URLs are case sensitive.
using System.Web.Http.OData.Builder;
using ProductService.Models;
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Products");
config.Routes.MapODataRoute("odata", "odata", builder.GetEdmModel());
*/
public class ProductsController : ODataController
{
private ProductServiceContext db = new ProductServiceContext();
// GET odata/Products
[Queryable]
public IQueryable<Product> GetProducts()
{
return db.Products;
}
// GET odata/Products(5)
[Queryable]
public SingleResult<Product> GetProduct([FromODataUri] int key)
{
return SingleResult.Create(db.Products.Where(product => product.ID == key));
}
// PUT odata/Products(5)
public async Task<IHttpActionResult> Put([FromODataUri] int key, Product product)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (key != product.ID)
{
return BadRequest();
}
db.Entry(product).State = EntityState.Modified;
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ProductExists(key))
{
return NotFound();
}
else
{
throw;
}
}
return Updated(product);
}
// POST odata/Products
public async Task<IHttpActionResult> Post(Product product)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Products.Add(product);
await db.SaveChangesAsync();
return Created(product);
}
// PATCH odata/Products(5)
[AcceptVerbs("PATCH", "MERGE")]
public async Task<IHttpActionResult> Patch([FromODataUri] int key, Delta<Product> patch)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
Product product = await db.Products.FindAsync(key);
if (product == null)
{
return NotFound();
}
patch.Patch(product);
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ProductExists(key))
{
return NotFound();
}
else
{
throw;
}
}
return Updated(product);
}
// DELETE odata/Products(5)
public async Task<IHttpActionResult> Delete([FromODataUri] int key)
{
Product product = await db.Products.FindAsync(key);
if (product == null)
{
return NotFound();
}
db.Products.Remove(product);
await db.SaveChangesAsync();
return StatusCode(HttpStatusCode.NoContent);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
private bool ProductExists(int key)
{
return db.Products.Count(e => e.ID == key) > 0;
}
}
}
.
.
.
.
.
{{ ProductData | json }}
{ "odata.metadata": "localhost:51811/odata/$metadata#Products",
"value": [
{ "ID": 1,
"Name": "Hat",
"Price": "15.00",
"Category": "Apparel"
}
]
}