2013-05-16 45 views
0

在我的应用程序中我需要使用foreach创建每一个类型的表行我想添加按钮我想绑定那个CommandName与项目数据给它的错误在asp.net中的代码呈现块与服务器端控件不工作

<table border="1" style="font-size:small;height:auto;"> 
     <%foreach (var item in vm) 
      {%> 
      <tr> 
       <td><a href="<%=item.FilePath %>"><%=item.FileName %></a></td> 
       <td><%=item.UserName %></td> 
       <td><%=item.Association %></td> 
       <td><%=item.Size %></td> 
       <td><%=item.UpdoadedOn %></td> 
       <td><asp:Button ID="btn" Text="delete" OnClick="delete_Click" runat="server" CommandName='<%=item.Id %>' /></td> 
      </tr>  
      <%} %> 
     </table> 

CommandName='<%=item.Id %>' 

是否有任何其他方式做到这一点....?

+0

什么错误?哪条线投掷它?此外,这看起来像一个剃刀视图。你在使用MVC吗? – jadarnel27

+1

为什么你不能在后面的代码中使用中继器和数据绑定'vm'?您将能够使用“OnItemDataBind”事件来设置值。 – Oded

+0

@ jadarnel27 - 这是webforms(注意标题 - 服务器端控件)。问题是在服务器端控件上使用'<%=%>' - 这是不可能的。 – Oded

回答

0

而不是尝试使用Button控件,而是使用链接。

替换:

<td><asp:Button ID="btn" Text="delete" OnClick="delete_Click" 
runat="server" CommandName='<%=item.Id %>' /></td> 

有:

<td><a class="button-link" href="/item/delete/<%=item.Id %>">Delete</a></td> 
相关问题