以下内容在一个列表里,即 ​​<asp:Repeater ID="OrderList" runat="server">...</asp:Repeater>​​ 里,以下不再重复。

如下需求,想要给每个启用禁用按钮里面的data-id赋值,但是报错。

这篇博文就是解决这个问题的。

aspx文件中runat=server的控件中如何动态填充Eval内容,如何使用Eval命令_aspx控件动态赋值


原来试图的写法:

如下这样是报错的,提示runat=server的里面不能用Eval,但

 <asp:Button ID="Btn_Save" runat="server"
Text="启用/禁用"
OnClick="Btn_Save_Click" CssClass="btn btn-primary" OnClientClick="return check(this)"
data-id="<%# Eval("Id") %>"
>
</asp:Button>

经过多次尝试的成功写法:

 <asp:Button ID="Btn_Save" runat="server"
Text="启用/禁用"
OnClick="Btn_Save_Click" CssClass="btn btn-primary" OnClientClick="return check(this)"
data-id="<%# ((MyModel)Container.DataItem).Id %>"
>
</asp:Button>

亲测成功。
并且网上也没搜到什么有用的解答。