protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        TextBox1.Text = ((TextBox)(DetailsView1.Rows[6].FindControl("TextBox3"))).Text.Trim();
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
    }
点击 更新 ,TextBox1的值会显示出((TextBox)(DetailsView1.Rows[6].FindControl("TextBox3"))).Text.Trim()的值,
但无论怎么改编辑状态下((TextBox)(DetailsView1.Rows[6].FindControl("TextBox3"))).Text.Trim()值,
TextBox1的值都是原来那个值,更新数据库的操作它却运行不了。为什么会这样呢??编辑按钮是用控件自带的,数据源是自己绑定的。

解决方案 »

  1.   

    你是否是模版列?
        protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            //模版列
            string s = ((TextBox)DetailsView1.Rows[1].Cells[1].FindControl("TextBox1")).Text;
            //非模版列
            //string s = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text;
        }
      

  2.   

    GridView中修改了值将它赋给TextBox,TextBox的值是更改后的值,但DetailsView却改不了
      

  3.   

    还有就是在
    protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {}添加某个查找数据库的操作并重新绑定到DetailsView中的事件,DetailsView都不会变的,为什么触发不了那个事件啊??
      

  4.   

    <asp:TemplateField HeaderText="详细内容">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("content") %>' TextMode="MultiLine"
                                Width="300px" Height="100%"></asp:TextBox>
                        </EditItemTemplate>
                        <InsertItemTemplate>
                            <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("content") %>'></asp:TextBox>
                        </InsertItemTemplate>
                        <HeaderStyle Font-Bold="True" Wrap="False" />
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text='<%# Bind("content") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
    这是我要修改的模板列,什么保存又绑定??
      

  5.   


    GridView中RowUpdating事件同样是给TextBox赋值,修改成怎样Textbox就显示怎样的,你说的保存绑定是什么??
      

  6.   

    问一下,你对TextBox3进行编辑,按更新按钮,红色部分还是原来的值?:
        protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            //模版列
            string s = ((TextBox)DetailsView1.Rows[6].Cells[1].FindControl("TextBox3")).Text;
           
        }
      

  7.   


    我要显示string s
    所以改成这样 string s = ((TextBox)(DetailsView1.Rows[6].FindControl("TextBox3"))).Text.Trim();
            TextBox1.Text = s;textbox1.text显示还是原来那个值,我已在编辑模式对TextBox3作了修改
      

  8.   

    我估计你绑定数据在Page_Load中没加
    if(!IsPostBack)
       //绑定数据
      

  9.   


    激死我了,谢谢你。还有现在是能改数据了,但在里面添加更新数据库的操作,却更新不了,原本点完更新后状态能变回ReadOnl的现在都变不回了,值是改变了,但数据库上的却更新不了,已经确定更新函数没错的,和GridView中一样。