뷰어를 컨트롤러에서 반환하고 Razor에서 생성하는 방법은 API에서 데이터를 가져옵니다. 면도기 엔진보기를 유지하고 API를 사용하려는 경우 원본 mvc 지금은 API웹 API를 사용하여 면도기보기를 반환하는 웹 API를 사용하는 MVC
MVC 컨트롤러
public class ProductController : Controller
{
public ActionResult Index()
{
return View();
}
API를 컨트롤러
public class ProductsController : ApiController
{
private ApplicationDbContext db = new ApplicationDbContext();
// GET api/Products
public IEnumerable<Product> GetProducts()
{
return db.Products;
}
}
모의 데이터를 원하는대로 제어 파라미터는 데이터를 뷰를 리턴 델 :
@model IEnumerable<WebApplication2.Models.Product>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Category)
</th>
<th>
@Html.DisplayNameFor(model => model.Price)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Category)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>
당신은 ASP.NET MVC 컨트롤러 내에서 웹 API 컨트롤러에 HTTP 요청을 보낼 수
url/api/products를 사용하여 API를 호출하는 html 클라이언트를 만들었지 만, "http://yourapi.com/api/products ") 여기에 정확히 무엇을 넣어야합니까 ?? – user3353484
제품 목록을 리턴하는 웹 API 엔드 포인트의 URL을 넣어야합니다. –
감사합니다! @ Url.Action에 의해 URL을 바꿀 수 있습니까 ?? – user3353484