none
datalist中textbox的OnTextChanged中如何取DataKeyField中的值 RRS feed

  • 问题

  • 我是在datalist中添加了一个textbox,然后有设置datalist的DataKeyField属性,当触发textbox的OnTextChanged中如取到DataKeyField中的值,然后对这条数据进行更新
    2010年3月11日 2:37

答案

  • 你好,试试下面的方法

    this.DataList1.DataKeys[(((sender as TextBox).Parent) as DataListItem).ItemIndex]

    Microsoft Online Community Support
    2010年3月12日 5:45

全部回复

  • 还是没取出来DataKeyField中的值,不知道如何获取当前修改的是datalist中的第几行,最后放了HiddenField,将主键放在这个里面。

    不知道大家还有没有什么好的方法?
    • 已标记为答案 Aragn 2010年3月11日 3:15
    • 取消答案标记 Aragn 2010年3月11日 3:15
    2010年3月11日 3:15
  • 你好!

    通过 Control 的 NamingContainer 获取控件在 GridView 中所在的行。

    protected void txtName_TextChanged(object sender, EventArgs e)
    {
        GridViewRow gridViewRow = (GridViewRow)((TextBox)sender).NamingContainer;
        object key = this.GridView1.DataKeys[gridViewRow.RowIndex].Value;
        Response.Write(key.ToString());
    }


    知识改变命运,奋斗成就人生!
    2010年3月11日 4:46
    版主
  • 你好,试试下面的方法

    this.DataList1.DataKeys[(((sender as TextBox).Parent) as DataListItem).ItemIndex]

    Microsoft Online Community Support
    2010年3月12日 5:45