2017-09-06 57 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