我想通過從模型中選擇它并通過控制器中的 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>
它在視圖頁面中回傳 System.Linq.Enumerable SelectListIterator`2[UserLoginApp.Models.Topic,System.String] 而不是 topic1name
uj5u.com熱心網友回復:
tp1是一個主題串列。
因此,當您進行選擇時,它會為其中的每個專案創建一個新的 Enumerable en 來tp1選擇topic1name.
從而創建一個Enumerable SelectListIterator
我認為你想要一個專案的價值:
var tp1 = _db.Topic.FirstOrDefault(t => t.sheet_id == 1)
if(tp1 != null)
ViewBag.tp1name = tp1.topic1name;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/472704.html
標籤:C# 网 asp.net-mvc
上一篇:從appSettings.json訪問基本URL時出現System.NullReferenceException
下一篇:登出清除會話資料
