尝试动态填充选择下拉列表,并且每次运行它时,我都可以在@foreach块中逐步遍历代码,但随后似乎陷入了连续循环或其他问题。会彻底冻结一切!正在努力,因为甚至没有发生错误。
“ / api / Reps / Index”控制器可以单独工作。我什至更新了它,只返回了一个代表以查看是否有问题,但没有任何区别。
*注意:使用MatBlazor来实现材料设计。
我的.Razor页面:
@inject HttpClient Http
<EditForm Model="@projectParameters">
<DataAnnotationsValidator />
<ValidationSummary />
<div>
<MatSelect Label="Rep" @bind-Value="@projectParameters.Rep">
<MatOption Value="">Select</MatOption>
@foreach (var rep in repList)
{
<MatOption Value="@rep.id.ToString()">@rep.name</MatOption>
}
</MatSelect>
</div>
</EditForm>
@code
{
Project projectParameters = new Project();
private MyRep[] repList { get; set; }
protected override async Task OnInitAsync()
{
repList = await Http.GetJsonAsync<MyRep[]>
("/api/Reps/Index");
}
}
这也是我的RepsController.cs代码:
namespace MyProject.Controllers
{
public class RepsController : Controller
{
MyDataAccessLayer objrep = new MyDataAccessLayer();
[HttpGet]
[Route("api/Reps/Index")]
public IEnumerable<MyRep> Index()
{
return objrep.GetAllReps();
}
}
}