[英]How to get List<> based on ID of another List<> c# MVC 4
[英]c# mvc 5 display model text from list based on id
我有一个模型:
public class Model
{
public string Id { get; set }
public List<SelectListItem> Items { get; set; }
}
现在我认为:
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Items.Where(t=>t.Value == item.Id).Select(t=>t.Text))
}
基本上,Items属性将具有以下内容:
Value = 1
Text = "Somethnig"
Value = 2
Text = "Somethnig else"
Value = 3
Text = "Somethnig else in here"
Id属性将保存该项目的Value,可以是1, 2, 3 and so forth
。
如何在我的视图中显示项目的文本而不是值?
如果要访问“项目”列表,请尝试此操作。
@foreach (SelectListItem item in Model.Items)
{
@Html.DisplayFor(item.Text)
}
现在,如果var item
是Model
DatatType的object
,请尝试此操作。
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Items.Where(t=>t.Value == item.Id)[0].Text)
}
注意:如果列表中没有符合表达式t.Value == item.Id
的对象,则索引0 t.Value == item.Id
没有对象,因此,将为您提供IndexOutOfRangeException
。
试试这个:
foreach(var item in Model)
{
value: item.Id
Text: item.Text
}
我正在使用.net MVC3
我有两张桌子
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#。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.