您好,过去一个小时我一直在尝试将我的 C# 后端连接到前端以输出列表。 我一直想知道将数据从后端传递到前端的最佳方式是什么。
在我的场景中,我只想从 mvc 中输出一个简单的列表,但是我如何将我的列表发送到前端,这样我就可以做一些简单的事情,比如使用 foreach 之类的东西输出表中的所有数据:
foreach (var value in customerList) {
<p>value.Name</p>
}
我查看了此链接中建议的解决方案:How to pass List from Controller to View in MVC 3.由阿奇尔
但是我不知道放在哪里 protected 内部 ViewResult View( 对象模型 )
那么我怎样才能输出我的列表呢? 我知道该列表包含内容,因为我已设置断点并逐步执行它。
我的代码是这样的:
public List<Customer> customerList = new List<Customer>();
public ActionResult Index()
{
var client = new CustomerAzureAPIApp();
var response = client.Customer.Get();
var customers = response;
foreach (var customer in customers)
{
customerList.Add(customer);
}
return View();
}
我知道我可以使用 ViewBag,但我不想为列表中的每个项目创建一个新的 ViewBag,我宁愿只发送整个列表。有什么建议吗?
最佳答案
嗯,我不知道最好的解决方案,但不要对 archil 在您提供的链接中建议的代码感到困惑。
您只需将您的 customerList 与
return View(customerList);
作为一个参数,因为该行代码通过使用呈现 View 以响应的模型自动创建一个 ViewResult 对象。
所以在你的前端,你最终可以为你的表做这样的事情:
<table
<tr>
<th>ID</th>
<th>Name</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Name</td>
</tr>
}
</table>
请记住在您的项目前加上“@”,因为我们正在处理 Razor View 引擎。
关于c# - 如何在 ASP.NET 中将列表从后端传递到前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338567/