Вы можете использовать частичное представление для хранения данных таблицы и возврата PartialViewResult
из контроллера API, а затем показать частичное представление из функции успеха ajax. Ниже приведены шаги:
_DetailsPartial
@model DemoTest.Models.User
<center><h1 style="color:red">User details</h1></center>
<div>
<table class="table">
<tr>
<td>ID</td>
<td>@Model.Id</td>
</tr>
<tr>
<td>FIRST NAME</td>
<td>@Model.Fname</td>
</tr>
<tr>
<td>LAST NAME</td>
<td>@Model.Lname</td>
</tr>
<tr>
<td>LOCATION</td>
<td>@Model.Location</td>
</tr>
<tr>
<td>Contact</td>
<td>@Model.Contact</td>
</tr>
<tr>
<td>Email</td>
<td>@Model.Email</td>
</tr>
<tr>
<td>Password</td>
<td>@Model.Password</td>
</tr>
<tr>
<td>Role</td>
<td>@Model.Category</td>
</tr>
<tr>
</table>
</div>
Api-контроллер, возврат PartialViewResult
[Route("api/[controller]/[action]")]
[ApiController]
public class ValuesController : ControllerBase
{
private readonly DemoDbContext _context;
public ValuesController(DemoDbContext context)
{
_context = context;
}
[HttpGet("{id}")]
public async Task<IActionResult> Details(int id)
{
var user = await _context.User.FindAsync(id);
var myViewData = new ViewDataDictionary(new Microsoft.AspNetCore.Mvc.ModelBinding.EmptyModelMetadataProvider(), new Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary())
{ { "User", user } };
myViewData.Model = user;
return new PartialViewResult()
{
ViewName= "_DetailsPartial",
ViewData= myViewData
};
}
}
Основное представление, содержащее частичное представление используйте ajax, чтобы отобразить результат функции успеха в <div id="userdetail"></div>
<div id="userdetail"></div>
@section Scripts{
<script>
var id = 1;
$.ajax({
//contentType: "application/json",
type: "GET",
url: "https://localhost:44343/api/Values/Details/" + id,
success: function (data) {
alert('Welcome!');
$("#userdetail").html(data);
// window.location.href = "/Home/Details/" + data.id;
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Failed!');
}
});
</script>
}
Результат:
Для получения дополнительной информации о частичном просмотре, Вы можете сослаться на официальное сделать c.