2017-09-06 44 views
-1

我想显示阵列的这个名单的值就值,问题是,值不会在浏览器中显示。我有列表/数组的值。 我不知道问题或语法错误,有什么建议吗?通过列表<string[]>循环并获得

   @{ 
        List<string[]> validate_rules = new List<string[]>(); 
        if (TempData["verification_errors"] != null) 
        { 
         validate_rules = (List<string[]>)TempData["verification_errors"]; 
        } 
       } 

       @foreach (var item in validate_rules) 
       { 
        <label >@item[0].ToString() @item[2].ToString()</label> 
       } 
+0

确切的耻辱问题今天被张贴/昨天......这是一些教程?或作业?卸下'(',并添加'@'还盈项目的'[2]' –

+0

你如何确认,在列表中的所有元素?你做了什么样的调试?什么是精确*从这个输出的* ?它也似乎犯罪嫌疑人,我认为这整个事情被包裹在一个'@ {}'代码块。当你只是用一个简单的内联语法,会发生什么? – David

+0

是*剃须刀*?应该标记左右。 – Pac0

回答

0

你已经包围了整个事情的Razor Code Block。从文档:

与表达式不同,代码块内的C#代码不会呈现。

我很惊讶它甚至在语法上对这样的代码块内部的HTML语法有效,除非有一个你只是忽略的错误。从代码块中删除输出。事情是这样的:

@{ 
    List<string[]> validate_rules = new List<string[]>(); 
    if (TempData["verification_errors"] != null) 
    { 
     validation_rules = (List<string[]>)TempData["verification_errors"]; 
    } 
} 
@foreach (var item in validation_rules) 
{ 
    <p>@(item[0].ToString() + " " + item[2].ToString())</p> 
} 

输出可甚至可能被简化成这样:

@foreach (var item in validation_rules) 
{ 
    <p>@item[0] @item[2]</p> 
} 
+0

我更新了我的代码与您的答案,但仍然有问题?! – hashim

+0

有关此问题的任何建议? – hashim

+0

@hashim:你能用你当前的代码更新问题吗?另外,你是如何确认名单中有任何元素的? – David