无法在 MVC 中使用 EditorFoModel html 助手显示数据

Unable to display data using EditorFoModel html helper in MVC

我想在复选框旁边显示手机名称。 因此,我将以下代码与 EditorForModel 一起使用,但它仅在 12 中呈现。我不明白为什么它显示 12 而不是手机名称。

我使用 Ado.net 实体模型从数据库 class table Mobile 生成模型 class。所以我有一个模型 class 将 Mobile.cs 命名为

    namespace MvcDropdown.Models
    {
    using System;
    using System.Collections.Generic;

    public partial class Mobile
    {
        public int Model { get; set; }
        public string Type { get; set; }
        public string Cost { get; set; }
        public Nullable<bool> IsSelected { get; set; }
    }
}

在 HomeController 中,我有一个操作方法

public ActionResult checkboxfun()
        {
            GadgetsContext gc = new GadgetsContext();
            return View(gc.Mobiles);
        }

现在我已经通过将视图命名为 Mobile 来使用编辑器模板,如下所示。

@model MvcDropdown.Models.Mobile

@Html.HiddenFor(m=>m.Model)
@Html.HiddenFor(m=>m.Type)

@Html.EditorFor(m=>m.IsSelected)
@Html.DisplayFor(m=>m.Type)

在 checkboxfun 视图中,我有以下代码。

@model IEnumerable<MvcDropdown.Models.Mobile>

@using(Html.BeginForm())
{
@Html.EditorForModel()     
    <br />
    <input type="submit" value="submit" />
}

现在我无法查看数据库中的数据。

你生成 1 2 因为该方法没有找到匹配的模板,并且将默认渲染模型的第一个 属性 的值(在你的情况下你有 2 个项目Model = 1Model = 2.

的集合

您的模板必须命名为 Mobile.cshtml 以匹配 class 名称,并且位于 /Views/Shared/EditorTemplates/Views/yourControllerName/EditorTemplates 中(在您的情况下 /Views/Home/EditorTemplates) 文件夹