主要目的:取一条记录修改后保存在数据库中.
我在Datalist中邦定了一个Textbox,根据条件可以取出数据记录,但是在保存是不能取到Textbox的值,前台如<asp:TextBox ID="web_name" runat="server" Width="205px" Text='<%#Eval("qz_name") %>'>,后面取值
protected void Button_ok_Click1(object sender, EventArgs e)
    {
        string QzID = Request.Params["qzid"].ToString();//id
        //datalist1.EditItemIndex = e.Item.ItemIndex;
        //datalist1.EditItemIndex = e.ToString();
        //datalist1.DataBind();        string cs_data = ((TextBox)datalist1.Item.FindControl("web_data")).Text;
        string cs_name = ((TextBox)e.Item.FindControl("web_name")).Text;
        string cs_tel = ((TextBox)e.Item.FindControl("web_tel")).Text;
        string cs_coure = ((TextBox)e.Item.FindControl("web_coure")).Text;
        string cs_depart = ((TextBox)e.Item.FindControl("web_depart")).Text;
        string cs_rezult = ((TextBox)e.Item.FindControl("web_rezult")).Text;
}
但是编译报错:CS0117: “System.Web.UI.WebControls.DataList”并不包含“Item”的定义
还请指教,谢谢

解决方案 »

  1.   

    把 datalist1.Item.FindControl 换成 e.Item.FindControl
      

  2.   

    一般的用法<asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_ItemCommand" >
       <ItemTemplate>
           <asp:TextBox ID="TextBox1" runat="server" text="test"></asp:TextBox>
           <asp:Button ID="Button1" rune="sever" Text="取值" ></asp:Button>
       </ItemTemplate>
    </asp:DataList> 点击Button1 取出TextBox1 的值
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
       TextBox textbox1 = (TextBox) e.Item.FindControl("TextBox1");
       string text= textbox1.Text        //止句取出TextBox1 的文本
    }
    总结 对一般的DataList ,DataGrid ,DataView 按钮事件都是通过这种方法取得所套用的控件。
      

  3.   

    <asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_ItemCommand" > 
    中我先没有加OnItemCommand,现在加了后出显新的问题了,报错如下:
    编译器错误信息: CS0123: “Button_ok_Click1”的重载均与委托“System.EventHandler”不匹配
    源错误:行 59:         </tr>
    行 60:         <tr>
    行 61:           <td style="width: 762px"><asp:Button ID="Button_ok" runat="server" OnClick="Button_ok_Click1" Text="修改" />
    再次请教,谢谢