我发些关键性代码 
<ItemTemplate>
<asp:TextBox ID="referLabel" runat="server" Text='<%# Eval("refer") %>'></asp:TextBox>
 </ItemTemplate><asp:Button ID="Button4" runat="server" Text="提   交" Visible="false" OnClick="Button4_Click" />CS页面:
 protected void Button4_Click(object sender, EventArgs e)
    {
       string referLabel =Convert.ToString( DataList1.Items[0].FindControl("referLabel") as TextBox);//这样写好像错的
       
    }
问题如标题,如何在CS页面获取TextBox的值

解决方案 »

  1.   

    设置button的CommandName属性,而不是直接给他做一个回发事件。然后在DATALIST的ItemCommand事件里面写if (e.CommandName.ToLower() == "edit") 
      

  2.   

    string referLabel =((Textbox)( DataList1.Items.FindControl("referLabel")).Text 试一下这样子
      

  3.   

    你的写答找到控件 差 text  
      

  4.   

    其实edit是个关键字,你这样些,会有让你意想不到的错误的 
      

  5.   

    button如果是放在DataList里面的话  
    那你就要设置按钮的CommandName属性 随便什么值都可以  
    当然 6楼说的对 有些关键字是不能占用的   
    如果还有其他的需要  可以写CommandArgument的值  
    然后再你的ItemCommand事件里 
    写if(e.CommandName==“你写的那个值”){......后面的自己搞定吧}
      

  6.   

    button在datalist里还是在外面?
    外面的话        protected void Button1_Click(object sender, EventArgs e)
            {
                TextBox tx = DataList1.Items[0].FindControl("TextBox1") as TextBox;
                Response.Write(tx.Text);
            }
      

  7.   

    如果在里面asp:DataList ID="DataList1" runat="server" 
                onitemcommand="DataList1_ItemCommand">
                <HeaderTemplate>
                    <table>
                </HeaderTemplate>
                <ItemTemplate>
                <tr>
                    <td><%#Eval("Article_Id") %></td>
                    <td>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("Article_Title") %>'></asp:TextBox></td>
                        <td>
                            <asp:Button ID="Button2" runat="server" Text="Button" CommandName="getText" CommandArgument='<%#Eval("Article_Title") %>' />
    <!--CommandArgument绑定的值和你的TextBox字段一样-->
                        </td>
                </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table></FooterTemplate>
            </asp:DataList>
            <%=Number %>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
            {
                if (e.CommandName == "getText")
                {
                    Response.Write(e.CommandArgument);
                }
            }