Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 仅显示模型中的某些值_Asp.net Mvc_List_Model View Controller_View_Lambda - Fatal编程技术网

Asp.net mvc 仅显示模型中的某些值

Asp.net mvc 仅显示模型中的某些值,asp.net-mvc,list,model-view-controller,view,lambda,Asp.net Mvc,List,Model View Controller,View,Lambda,我试图只显示应用于模型中某个项目的值。 我有一个列表,其中包含要显示的模型中属性的名称。这是我拥有的代码(但不起作用) 因此,我的问题是:是否可以在“模型”后面放置一个变量? 我知道这可能有点让人困惑,但我希望我已经提供了足够的信息,如果没有,请随时询问更多信息。如果顺序没有确定,并且没有编写按名称获取属性值的方法。你可以这样写你的观点 @{ var attrList = ViewBag.attributes as List<Attribute>; } <dt>

我试图只显示应用于模型中某个项目的值。 我有一个列表,其中包含要显示的模型中属性的名称。这是我拥有的代码(但不起作用)

因此,我的问题是:是否可以在“模型”后面放置一个变量?

我知道这可能有点让人困惑,但我希望我已经提供了足够的信息,如果没有,请随时询问更多信息。

如果顺序没有确定,并且没有编写按名称获取属性值的方法。你可以这样写你的观点

@{
    var attrList = ViewBag.attributes as List<Attribute>;
}
<dt>                    
    @Html.DisplayNameFor(model => model.Name)
</dt>
@if (attrList.Any(a => a.Attributename == "Name"))
{
    <dd>
        @Html.DisplayFor(model => model.Name)
    </dd>
}
etc..
@{
var attrList=ViewBag.attributes作为列表;
}
@DisplayNameFor(model=>model.Name)
@if(attrList.Any(a=>a.Attributename==“Name”))
{
@DisplayFor(model=>model.Name)
}
等

不清楚您的要求
@Html.DisplayFor(model=>model.Name)
将显示
Name
的值,而不是“显示所有字段”对不起@StephenMuecke确实有点模糊,但我不希望Name在
(model=>model.Name)
中硬编码,因为有时我要显示的值会更改。您的模型是类吗?您需要某种反射来获取属性值name@JamieD77它实际上是我从数据库中获取的一个实体,但这几乎是一样的,对吗?为什么不使用仅包含所需字段的ViewModel?谢谢你的回答,但这不是我真正的意思,很抱歉我的问题很难理解。问题是,我不想要模型。
name
硬编码,
name
在属性列表中指定。然后,对于attributelist中的每个项目(例如,
名称
小时数
服务器ID
),它必须显示模型中的值(这是数据库表中的项目)
            <dt>                    
                @Html.DisplayNameFor(model => model.Name)
            </dt>
            <dd>
                @Html.DisplayFor(model => model.Name)
            </dd>
@Html.DisplayFor(model => model.(ListItem.attributename))
@{
    var attrList = ViewBag.attributes as List<Attribute>;
}
<dt>                    
    @Html.DisplayNameFor(model => model.Name)
</dt>
@if (attrList.Any(a => a.Attributename == "Name"))
{
    <dd>
        @Html.DisplayFor(model => model.Name)
    </dd>
}
etc..