【问题标题】:code render block in asp.net with server side control not working带有服务器端控件的asp.net中的代码渲染块不起作用
【发布时间】:2013-05-16 19:45:20
【问题描述】:

在我的应用程序中,我需要使用 foreach 来创建表行,每种类型我想添加按钮我想将该 CommandName 与项目数据绑定到它给出错误

 <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 %>'

有没有其他方法可以做到这一点....??

【问题讨论】:

  • 错误是什么?哪条线抛出它?此外,这看起来像 Razor 视图。你在使用 MVC 吗?
  • 为什么不能在后面的代码中使用转发器和数据绑定vm?您将能够使用OnItemDataBind 事件来设置值。
  • @jadarnel27 - 这是网络表单(注意标题 - 服务器端控件)。问题在于在服务器端控件上使用 &lt;%=%&gt; - 这是不可能的。
  • 啊,一定是我的错,@Oded。我只是没有看到人们在网络表单中使用这种语法(foreach 部分)。我确实在标题中看到了“服务器端控件”,但我看到人们(尤其是技术新手)在此处输入另一个时输入一个。
  • 放在这里,我发现代码渲染块在 ASP.NET 控件的标记内不起作用。尝试了各种各样的事情。它们要么导致控件根本无法被识别,要么只是以纯文本形式出现。

标签: asp.net c#-4.0 web


【解决方案1】:

不要尝试使用 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>

【讨论】:

    猜你喜欢
    • 2020-04-14
    • 2023-02-01
    • 2019-03-04
    • 2020-04-10
    • 2023-03-18
    • 1970-01-01
    • 2013-02-11
    • 2016-08-13
    • 2017-07-02
    相关资源
    最近更新 更多