c#mvc 5根据id显示列表中的模型文本

时间:2015-07-14 14:55:37

标签: c# asp.net-mvc-5

我有一个模特:

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属性将保存项目的值,可以是1, 2, 3 and so forth

如何在视图中显示项目的文本而不是值?

3 个答案:

答案 0 :(得分:0)

如果要访问“项目”列表,请尝试此操作。

@foreach (SelectListItem item in Model.Items)
{
   @Html.DisplayFor(item.Text)
}

现在,如果var itemobject的{​​{1}} DatatType,请尝试此操作。

Model

注意:如果列表中没有符合表达式@foreach (var item in Model) { @Html.DisplayFor(modelItem => item.Items.Where(t=>t.Value == item.Id)[0].Text) } 的对象,则索引0中不会有对象,因此会给你一个t.Value == item.Id

答案 1 :(得分:0)

试试这个:

foreach(var item in Model)
{
value: item.Id
Text: item.Text
}

答案 2 :(得分:0)

This is my model in my DB

我正在研究.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#。