如何通过从控制器中的模型中选择来显示值 ASP MVC
How to display value by selecting from model in the controller ASP MVC
我想通过 select 从模型中显示名称并通过控制器中的 Viewbag 将其传递到剃须刀页面。
控制器
public IActionResult sheet()
{
var tp1 = _db.Topic.Where(t => t.sheet_id == 1).ToList();
var tp1name = tp1.Select(t => t.topic1name);
ViewBag.tp1name = tp1name;
return View();
}
型号
public class Topic
{
[Key]
public int topic_id { get; set; }
[Required]
public int sheet_id { get; set; }
[Required]
public string topic1name { get; set; }
[Required]
public string topic2name { get; set; }
}
public class Transaction
{
[Key]
public int id { get; set; }
[Required]
public int sheet_id { get; set; }
[Required]
public string topic1score { get; set; }
}
查看页面
@model transaction
<table class="table">
<tr>
<td rowspan="2">1</td>
<td rowspan="2">@ViewBag.tp1name</td>
<td rowspan="2">30</td>
<td>Below average</td>
<td>Average</td>
<td>Above average</td>
</tr>
它returns
System.Linq.Enumerable+SelectListIterator`2[UserLoginApp.Models.Topic,System.String] 在视图页面中而不是 topic1name
tp1
是一个主题列表。
因此,当您执行 select 时,它会为 tp1
中的每个项目创建一个新的 Enumerable en,它 select 是 topic1name
.
的值
从而创建一个Enumerable+SelectListIterator
我想你想要一件商品的价值:
var tp1 = _db.Topic.FirstOrDefault(t => t.sheet_id == 1)
if(tp1 != null)
ViewBag.tp1name = tp1.topic1name;
我想通过 select 从模型中显示名称并通过控制器中的 Viewbag 将其传递到剃须刀页面。
控制器
public IActionResult sheet()
{
var tp1 = _db.Topic.Where(t => t.sheet_id == 1).ToList();
var tp1name = tp1.Select(t => t.topic1name);
ViewBag.tp1name = tp1name;
return View();
}
型号
public class Topic
{
[Key]
public int topic_id { get; set; }
[Required]
public int sheet_id { get; set; }
[Required]
public string topic1name { get; set; }
[Required]
public string topic2name { get; set; }
}
public class Transaction
{
[Key]
public int id { get; set; }
[Required]
public int sheet_id { get; set; }
[Required]
public string topic1score { get; set; }
}
查看页面
@model transaction
<table class="table">
<tr>
<td rowspan="2">1</td>
<td rowspan="2">@ViewBag.tp1name</td>
<td rowspan="2">30</td>
<td>Below average</td>
<td>Average</td>
<td>Above average</td>
</tr>
它returns System.Linq.Enumerable+SelectListIterator`2[UserLoginApp.Models.Topic,System.String] 在视图页面中而不是 topic1name
tp1
是一个主题列表。
因此,当您执行 select 时,它会为 tp1
中的每个项目创建一个新的 Enumerable en,它 select 是 topic1name
.
从而创建一个Enumerable+SelectListIterator
我想你想要一件商品的价值:
var tp1 = _db.Topic.FirstOrDefault(t => t.sheet_id == 1)
if(tp1 != null)
ViewBag.tp1name = tp1.topic1name;