2012-08-17 80 views
1

嘗試使用多個FOR循環(for for)時出現問題。該錯誤消息是:如何在MVC3的View文件中使用多FOR循環?

分析器錯誤信息:的塊缺少結束「}」字符。確保您在該塊中的所有 「{」字符都具有匹配的「}」字符,並且「}」字符 都不會被解釋爲標記。

這裏是我的代碼,這個問題來自於第一個爲:(。

<table width="100%" border="1"> 
@for (int q = 0; q < quanList.Count; q++) {  
    <tr> 
     <td>@quanList[q]</td> 

     @for (int s = 0; s < sizeList.Count; s++) {   
      <td><input type="text" name="txtval" style="width:80px" /></td> 
     } 
    </tr> 
} 
</table> 

非常感謝您的任何建議和想法。

我要顯示動態錶行和列,兩個列表已經從控制器中創建和解析經由ViewBag查看:

@{ 
List<string> sizeList = (List<string>)ViewBag.SizeList; 
List<string> quanList = (List<string>)ViewBag.QuanList; 

}

+1

這是由於'name =「txtval_ @ q_ @ s」'部分?也許這些'@'字符正在引發問題。 – XN16 2012-08-17 09:45:47

+0

不,不是。我已經改名爲「txtval」,和同樣的問題:(。謝謝你 – huynhtuanh 2012-08-17 09:56:36

+3

張貼整個頁面,也許{創建rpoblem是你張貼的片段 – Iridio 2012-08-17 09:59:50

回答

2
<table width="100%" border="1"> 
@{List<int> quanList = new List<int>(); 
    List<int> sizeList = new List<int>(); 
} 
for (int q = 0; q < quanList.Count(); q++) { 
<tr> 
    <td>@quanList[q] 
    </td> 
    for (int s = 0; s < sizeList.Count(); s++){ 
    <td> 
     <input type="text" name="[email protected][email protected]" style="width: 80px" /> 
    </td> 
    } 
</tr> 
} } 
</table> 

試試這個:

嘗試重命名該@q@s到別的東西。如果將它們混合在一起,MVC將視爲正常的@,例如[email protected]

{int textFieldName = "txtval_" + q + 
     "_" + s; 
     <td> 
      <input type="text" name="@textFieldName" style="width: 80px" /> 
     </td> 
     } 
+0

謝謝你的命名建議:)。但我的問題仍然在這裏:( – huynhtuanh 2012-08-17 10:21:16

相關問題