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的值都是原来那个值,更新数据库的操作它却运行不了。为什么会这样呢??编辑按钮是用控件自带的,数据源是自己绑定的。
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;
}
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{}添加某个查找数据库的操作并重新绑定到DetailsView中的事件,DetailsView都不会变的,为什么触发不了那个事件啊??
<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>
这是我要修改的模板列,什么保存又绑定??
GridView中RowUpdating事件同样是给TextBox赋值,修改成怎样Textbox就显示怎样的,你说的保存绑定是什么??
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
//模版列
string s = ((TextBox)DetailsView1.Rows[6].Cells[1].FindControl("TextBox3")).Text;
}
我要显示string s
所以改成这样 string s = ((TextBox)(DetailsView1.Rows[6].FindControl("TextBox3"))).Text.Trim();
TextBox1.Text = s;textbox1.text显示还是原来那个值,我已在编辑模式对TextBox3作了修改
if(!IsPostBack)
//绑定数据
激死我了,谢谢你。还有现在是能改数据了,但在里面添加更新数据库的操作,却更新不了,原本点完更新后状态能变回ReadOnl的现在都变不回了,值是改变了,但数据库上的却更新不了,已经确定更新函数没错的,和GridView中一样。