c#mvc 5基于id显示列表中的模型文本
我有一个模型:c#mvc 5基于id显示列表中的模型文本,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我有一个模型: public class Model { public string Id { get; set } public List<SelectListItem> Items { get; set; } } 基本上,Items属性将具有如下内容: Value = 1 Text = "Somethnig" Value = 2 Text = "Somethnig else" Value = 3 Text = "Somethnig else in here"
public class Model
{
public string Id { get; set }
public List<SelectListItem> Items { get; set; }
}
基本上,Items属性将具有如下内容:
Value = 1
Text = "Somethnig"
Value = 2
Text = "Somethnig else"
Value = 3
Text = "Somethnig else in here"
Id属性将保存项的值,可以是1、2、3等等
如何在视图中显示项目的文本而不是值?如果要访问项目列表,请尝试此操作
@foreach (SelectListItem item in Model.Items)
{
@Html.DisplayFor(item.Text)
}
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Items.Where(t=>t.Value == item.Id)[0].Text)
}
现在,如果var项
是模型
数据类型的对象
,请尝试此操作
@foreach (SelectListItem item in Model.Items)
{
@Html.DisplayFor(item.Text)
}
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Items.Where(t=>t.Value == item.Id)[0].Text)
}
注意:如果列表中没有符合表达式t.Value==item.Id
的对象,则索引0中不会有对象,因此会给您一个IndexOutOfRangeException
尝试以下操作:
foreach(var item in Model)
{
value: item.Id
Text: item.Text
}
我正在使用.NETMVC3
我有两张桌子
CREATE TABLE IF NOT EXISTS `examen_paco`.`consola` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(200) NULL,
PRIMARY KEY (`id`))
-- -----------------------------------------------------
-- Table `examen_paco`.`juegos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `examen_paco`.`juegos` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(200) NULL,
`consola_id` INT NOT NULL,
PRIMARY KEY (`id`),
我做了一个查询,显示控制台表的列表
现在我想让你给我点击一个控制台游戏显示列表,其中包含属于每个控制台的id
我在控制器中使用C#