Если два проекта имеют разные оригиналы, вам нужно включить перекрестные запросы (CORS) в ASP.NET Core .
Тогда вы можете использовать ajax или получить API для вызова веб-API в Razor Pages.
Например, предположим, что Razor Pages имеет оригинальный https://localhost:44304
и Web Api https://localhost:44362
1. В проекте запуска Web Api.cs
ConfigureService:
services.AddCors(options =>
{
options.AddPolicy("MyPolicy",
builder =>
{
builder.WithOrigins("https://localhost:44304")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
Настройка:
app.UseCors("MyPolicy");
app.UseHttpsRedirection();
2.Razor Pages Index.cshtml:
<div>
<input type="button" value="Test"
onclick="requestVal('https://localhost:44362/api/values')" />
<span id='result'></span>
</div>
<script>
function requestVal(uri) {
const resultSpan = document.getElementById('result');
fetch(uri)
.then(response => response.json())
.then(data => resultSpan.innerText = data)
.catch(error => resultSpan.innerText = 'See F12 Console for error');
}
</script>
3.Нажмите кнопку и отобразите результат