C# 访问KeyValuePair的键只会返回字符串";“关键”;

C# 访问KeyValuePair的键只会返回字符串";“关键”;,c#,razor,model-view-controller,keyvaluepair,C#,Razor,Model View Controller,Keyvaluepair,我有一个KeyValuePairs(string,bool)列表。我使用for循环迭代列表,但是当我尝试访问当前索引处的kvp键时,我得到的只是字符串“key” KeyValuePair是{“DD”,false} 抱歉,如果这是非常明显的,但我找不到任何人有相同的问题 { @Html.LabelFor(model => model.Client.PaymentChannels[i].Key) } 我希望键是字符串“DD”,而不是字符串“Key” 编辑:很抱歉,我粘贴了错误的代码。我相信C

我有一个KeyValuePairs(string,bool)列表。我使用for循环迭代列表,但是当我尝试访问当前索引处的kvp键时,我得到的只是字符串“key”

KeyValuePair是{“DD”,false}

抱歉,如果这是非常明显的,但我找不到任何人有相同的问题

{
@Html.LabelFor(model => model.Client.PaymentChannels[i].Key)
}
我希望键是字符串“DD”,而不是字符串“Key”


编辑:很抱歉,我粘贴了错误的代码。

我相信
CheckBoxFor
的第一个参数是要提供复选框属性的名称,方法是在表达式树中查找最终属性名称。它不是要提供复选框的值。是的,很抱歉我粘贴了错误的部分。复选框正确地显示了kvpRight的值部分,但点是相同的:
LabelFor
故意提取属性名,在本例中是
Key
。如果您只需要一个使用该值的标签,则完全可以在不使用表达式树的情况下执行该操作:
@model.Client.PaymentChannels[i].Key
谢谢。我认为
CheckBoxFor
的第一个参数是通过在表达式树中查找最终属性名来提供复选框属性的名称。它不是要提供复选框的值。是的,很抱歉我粘贴了错误的部分。复选框正确地显示了kvpRight的值部分,但点是相同的:
LabelFor
故意提取属性名,在本例中是
Key
。如果您只需要一个使用该值的标签,则完全可以在不使用表达式树的情况下执行该操作:
@model.Client.PaymentChannels[i].Key
谢谢。这给了我一个处理模型目录的错误,但在其他方面是正确的。