无法在视图中显示名称列表

时间:2018-09-19 17:47:59

标签: c# list view

我在ViewModel中准备了一个列表,以从数据库表中获取值。分配给模型类的列表:

public class DType
{
    public string DTName { get; set; }
}

它通过以下方法进行更新:

public static List<DType> GetDocTypesString(Entity DB, int RKey)
    {
        return DB.Database.SqlQuery<DType>(@"SELECT * FROM Names
                                                     WHERE NK = {0}", RKey).ToList();
    }

然后将列表(模型)返回到视图,以将名称列出到选择菜单中,如下所示:

视图实际返回的模型:

public List<DType> ihName { get; set; }

使用上面的方法填充它:

ihName = GetDocTypesString(DB, RKey);

然后,在视图中,我使用以下内容:

@Html.Partial("GettingNamesPartial", new ProjName.ViewModels.UploadingPartialViewModel
            {
                DropdownIHDocType = new SelectList(Model.ihEditorInstanceName)
            })

结果总是这样:

列表(选择)显示而不是显示实际名称:

ProjName.ViewModels.DType
ProjName.ViewModels.DType
ProjName.ViewModels.DType
ProjName.ViewModels.DType

唯一匹配的是项目数与数据库表上的名称相同。

重要提示: 在尝试从数据库中提取名称之前,通过像下面这样对名称进行硬编码,列表可以正常工作:

DropdownIHDocType = new SelectList(new string[] { "Morgan", "Sam", "Shawn" })

1 个答案:

答案 0 :(得分:-1)

ihName = GetDocTypesString(DB, RKey);

是您的罪魁祸首。您将获得文档类型的列表,而不是每个文档中的变量name。基本上,您显示的是课程而不是课程的内容。您需要访问实际文档,然后找到所需的变量并将其分配给ihName

所以您要获取DType而不是DType.DTname,这是我假设您要尝试列出的