<asp:DataList ID="adminsorts" runat="server" OnItemCommand="adminsorts_ItemCommand">
                  <ItemTemplate>
                     <ul> 
                      <li> 
                       <asp:Label ID="Label6" runat="server" Text='<%# Eval("sort") %>'></asp:Label>&nbsp
                       (<span style=" color:#ff0000"><asp:Label ID="Label7" runat="server" Text='<%# Eval("sortnum") %>'></asp:Label></span>篇)&nbsp&nbsp|&nbsp&nbsp
                       <asp:LinkButton ID="LinkButton1" runat="server" ToolTip='<%# Eval("sort") %>' ><img alt="编辑类型" src="./images/Edit.Gif" /></asp:LinkButton>&nbsp&nbsp|&nbsp&nbsp
                           <asp:LinkButton ID="LinkButton2" runat="server" ToolTip='<%# Eval("sort") %>'><img alt="删除类型" src="./images/delete.Gif" /></asp:LinkButton>
                           </li> 
                         </ul> 
                  </ItemTemplate>
              </asp:DataList><div style="padding:0px 3px 5px 3px; line-height:5px; margin-top:3px;"> 
                <asp:TextBox ID="addsort" runat="server" Width="80%"></asp:TextBox><br /><br />
                <asp:Button ID="Button1" runat="server" Text="新增日志类别"  CssClass="button2" OnClick="Button1_Click"/><br /><br /><br />
                <asp:Label ID="Message" runat="server" Visible="False" Text="" ForeColor="Red"></asp:Label>
                </div>

解决方案 »

  1.   

    补充:我想通过按钮事件将 datalist 中的
     <asp:Label ID="Label6" runat="server" Text='<%# Eval("sort") %>'></asp:Label>的值 赋值给datalist外的<asp:TextBox ID="addsort" runat="server" Width="80%"></asp:TextBox>
      

  2.   

    通过FindControl属性从datalist找到Label6并取到Text值赋给TextBox
      

  3.   

    楼上的是说这种方法吗?? 
    Label tb = datalistname.FindControl("Labelname") as Label;
    TextBoxname.Text=tb.Text;可是我运行就出错
    提示:
    异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。 
      

  4.   

    datalistname后面应该加上你在那一行找label
      

  5.   

    楼主用这个:for (int i = 0; i < DataList1.Items.Count; i++)
            {
                Label lb = (Label)DataList1.Items[i].FindControl("Label6");
             //   Response.Write(lb.Text);
            }
      

  6.   

    .....当然是最后一条值了...我又不知道你要返回哪条记录的值
    ....直接找到那条记录序号index带入Label lb = (Label)DataList1.Items[index].FindControl("Label6");
      

  7.   

    其实这是一个修改功能,就是返回一个相应记录;
    点击那条记录的修改按钮就返回那条记录!!!
    请问6楼的我应该怎么写?我接触ASP.NET不是很久,不太熟悉!!
      

  8.   

    有分别吗??
    最好是Linkbutton或ImageButton,因为可以放个小图标上去!!
      

  9.   


       protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {     
            int index=e.Item.ItemIndex;
            if (e.CommandName == "1")
            {    
                Label lb = (Label)DataList1.Items[index].FindControl("Label6");
            }         if (e.CommandName == "2")
            {
                Label lb = (Label)DataList1.Items[index].FindControl("Label6");
            }  
            ....    } 
    你的LinkButton需设置CommandName属性
      

  10.   

    如果LinkButton太多你也可以通过
    LinkButton lb = (LinkButton)DataList1.Items[index].FindControl("LinkButtonID");
      

  11.   

    Evan_Chan 太感谢你了,现在可以了!!!