2010-06-16 45 views
3

什麼錯誤用下面的代碼:具有錯誤消息我真的簡單的問題:在難度聲明和使用可變

錯誤1;預計

<%if (Model.ReferenceFields != null) 
      {%> 
      <%int count = 1; %> 

      <%foreach (var referenceName in Model.ReferenceFields) 
      {%> 
      <%var value = "value"; %> 
      <%count++; %> 
      <%value = value + count.ToString(); %> 
      <tr> 
       <td><input type="hidden" name="Tests.Index" value='<%value%>' /></td> 
       <td><input type="text" name="Tests['<%value%>'].Value"/></td> 
       <td><input type="button" value= "Add" /></td></tr> 
      <%} 
       %> 
     <%} 
     %> 

回答

2

的基本問題是這樣的

<input type="hidden" name="Tests.Index" value='<%value%>' />

線所以你想要的價值的內容寫出到HTML但那不是這樣做的方式。它應該是

<input type="hidden" name="Tests.Index" value='<% Response.Write(value); %>' />

或回覆於一個快捷方式是<%=所以

<input type="hidden" name="Tests.Index" value='<%= value %>' />

ASP101 - Writing Your First ASP.NET Page

的另一個問題是,你的代碼的格式是,坦率地說,它很難看,而且在嘗試閱讀時會讓自己難以爲繼。試試這個。

<% 
if (Model.ReferenceFields != null) 
{ 
    int count = 1; 
    foreach (var referenceName in Model.ReferenceFields) 
    { 
     var value = "value"; 
     count++; 
     value = value + count.ToString(); 
     %> 
     <tr> 
     <td><input type="hidden" name="Tests.Index" value='<%= value %>' /></td> 
     <td><input type="text" name="Tests['<%= value %>'].Value"/></td> 
     <td><input type="button" value= "Add" /></td></tr> 
     <% 
    } 
} 
%>