Jac*_*sen 5 asp.net controls repeater
我发现我的自己有一个转发器控件,它被数据绑定到一个xml文档.我的客户现在要求正在转发的文本框可以是文本框或复选框.
我似乎无法找到基本上做以下事情的简单方法:
if ((System.Xml.XmlNode)e.Item.DataItem.Attributes["type"] == "text")
<asp:TextBox runat="server" ID="txtField" Text='<%#((System.Xml.XmlNode)Container.DataItem).InnerText %>' CssClass="std"></asp:TextBox>
else
<asp:CheckBox runat="server" ID="txtField" Text='<%#((System.Xml.XmlNode)Container.DataItem).InnerText %>' CssClass="std"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
有没有一种很好的方法可以扩展我当前的实现而不必重写逻辑.如果我可以通过"OnItemDataBound"注入控件也可以.但我似乎无法使其发挥作用
小智 5
在转发器中,删除一个Panel,然后为转发器的数据绑定事件创建一个事件处理程序,并以编程方式创建TextBox或CheckBox,并将其添加为Panel的子控件.您应该能够从事件args获取DataItem,以获取诸如"type"属性或值之类的信息,以提供Text属性或css信息等.
在每个文本框和复选框控件的标记中是否有类似的内容?
Run Code Online (Sandbox Code Playgroud)Visible=<%= Eval("type").tostring() == "text") %>
归档时间: |
|
查看次数: |
22267 次 |
最近记录: |