我想在ASP.Net 2.0中做这样的事情:
<asp:Repeater id="myRepeater" runat="server"> <ItemTemplate> <% if (DataBinder.Eval(Container.DataItem,"MyProperty").Equals("SomeValue")) { %> <%#DataBinder.Eval(Container.DataItem,"MyProperty")%> <% } %> </ItemTemplate> </asp:Repeater>
但我不能像这样测试DataBinder.Eval(Container.DataItem,“MyProperty”).
注意:我无法访问源代码,我只能更改内联的aspx.
NOTE2:我知道我可以用这个:
<%#DataBinder.Eval(Container.DataItem,"MyProperty").Equals("SomeValue")?"<!--":""%>
但我一直在寻找一种更清洁的方式.
有没有办法在Repeater中使用内联代码测试Container.DataItem?
解决方法
我会这样做的.您将“visibility”函数绑定到asp:literal控件的visible属性:
<asp:Repeater id="myRepeater" runat="server"> <ItemTemplate> <asp:literal runat='server' id='mycontrol' visible='<%# DataBinder.Eval(Container.DataItem,"MyProperty").Equals("SomeValue") %>'> <%# DataBinder.Eval(Container.DataItem,"MyProperty") %> </asp:literal> </ItemTemplate> </asp:Repeater>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。