zoukankan      html  css  js  c++  java
  • 刚刚发现的一个小问题的解决办法(datalist绑定和itemcommand)

    我的datalist数据绑定是通过在itemtemplate加上若干label然后在前台html利用类似如下代码(在label的text属性填写

    <%# DataBinder.Eval(Container.DataItem,"id"%>

    效果一样)<%# DataBinder.Eval(Container.DataItem,"id") %>来绑定数据  

    <asp:LinkButton id="btnFile" runat="server" CommandName="Select">
    <%# DataBinder.Eval(Container.DataItem,"name"%>
    </asp:LinkButton>

    <%# DataBinder.Eval(Container.DataItem,"name") %>但是最后发现如果lable也这样绑定的话,那么在itemcommand事件通过下面的代码将会得不到拉嗲拉里面的值

        Label mypid1 = (Label)e.Item.FindControl("lblID");
                            
    string id1 = mypid1.Text;
                            Label mytype1 
    = (Label)e.Item.FindControl("lblType");
                            
    string ntype1 = mytype1.Text;

    后来经过csdn提问知道如果换成如下写法

    <asp:Label id="lblID" runat="server" Width="0px" Height="0px" Text='<%# DataBinder.Eval(Container.DataItem,"id") %>'>
    </asp:Label>

    就能在后台的itemcommand事件里面取到值了,但是别人也没怎么说清楚原因,只是说如果是前面一种写法的话,那么仅仅只是有个显示文字将不写入__viewstate,所以在itemcommand里面是得不到这个值。
    希望知道的哥们能给我讲明,不胜感激
    <%# DataBinder.Eval(Container.DataItem,"name") %><%# DataBinder.Eval(Container.DataItem,"name") %><%# DataBinder.Eval(Container.DataItem,"name") %>

  • 相关阅读:
    Linux知识(4)----文件系统结构
    ROS知识(4)----初级教程之常见问题汇总
    Linux知识(3)----常用快捷键和命令
    ROS知识(1)----ROS Jade安装
    Linux知识(1)----U盘安装Ubantu14.04系统
    Linux知识(2)----中文输入法安装
    EM(Expectation Maximization)算法
    idea xml 绿背景色 去掉拼写检查
    Java transient
    java代码中获取classpath路径
  • 原文地址:https://www.cnblogs.com/ocean2000/p/459240.html
Copyright © 2011-2022 走看看