DataList 编辑记录时,更新取不到值的原因。
2009-03-24 22:28
239 查看
这几天项目特别的紧。本来想用新出的 asp.net mvc来做开发的。用了一天感觉还是比较难以驾驭。赶紧抽回来传统的webform开发了。可是偏偏在用DataList的时候做了页面 编辑功能的时候,死活不能更新当前记录。。看代码 aspx
<asp:DataList ID="DataList1" runat="server" DataKeyField="NoticeID"
oneditcommand="DataList1_EditCommand"
onupdatecommand="DataList1_UpdateCommand">
<ItemTemplate>
<asp:Label ID="lbl_Content" runat="server" Text='<%#Eval("Contents") %>' />
<asp:LinkButton ID="edit" runat="server" Text="编辑" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tb_Content" runat="server" Text='<%#Eval("Contents") %>' />
<asp:LinkButton ID="Update" runat="server" Text="更新" CommandName="Update" />
</EditItemTemplate>
</asp:DataList>
cs代码:
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindPage(); //绑定数据
}
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
int id =(int) DataList1.DataKeys[e.Item.ItemIndex];
string co = ((TextBox)e.Item.FindControl("tb_Content")).Text.Trim();
BindPage();//绑定数据
}
问题来了。每次通过 string co = ((TextBox)e.Item.FindControl("tb_Content")).Text.Trim(); 这个取新的值是,总是取不到。每次多是原来的值,可是我明明改了啊。。。找了一个下午。直接说答案吧。。。。。
就是一定要在
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindPage();
}
}
加上IsPostBack 这样不会每次回发的时候重新绑定了。。。。。郁闷。。。希望对大家也有帮助,我看网上好多人在人这样的问题。特地留个信号。。方便大家。
<asp:DataList ID="DataList1" runat="server" DataKeyField="NoticeID"
oneditcommand="DataList1_EditCommand"
onupdatecommand="DataList1_UpdateCommand">
<ItemTemplate>
<asp:Label ID="lbl_Content" runat="server" Text='<%#Eval("Contents") %>' />
<asp:LinkButton ID="edit" runat="server" Text="编辑" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tb_Content" runat="server" Text='<%#Eval("Contents") %>' />
<asp:LinkButton ID="Update" runat="server" Text="更新" CommandName="Update" />
</EditItemTemplate>
</asp:DataList>
cs代码:
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindPage(); //绑定数据
}
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
int id =(int) DataList1.DataKeys[e.Item.ItemIndex];
string co = ((TextBox)e.Item.FindControl("tb_Content")).Text.Trim();
BindPage();//绑定数据
}
问题来了。每次通过 string co = ((TextBox)e.Item.FindControl("tb_Content")).Text.Trim(); 这个取新的值是,总是取不到。每次多是原来的值,可是我明明改了啊。。。找了一个下午。直接说答案吧。。。。。
就是一定要在
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindPage();
}
}
加上IsPostBack 这样不会每次回发的时候重新绑定了。。。。。郁闷。。。希望对大家也有帮助,我看网上好多人在人这样的问题。特地留个信号。。方便大家。
相关文章推荐
- DataList 编辑记录时,更新取不到值的原因
- DataList实现编辑,删除,更新,取消,记录转存功能
- DataList实现编辑,删除,更新,取消,记录转存功能
- 数据库更新记录,但程序查不到新记录问题
- vue更新记录不能有中文,中文文档一直滞后的原因
- DataList编辑,更新,删除及模板的使用
- 关于ota升级查找不到更新包的原因分析
- DataList自定义的编辑、更新、取消、删除
- DataList编辑,更新,删除及模板的使用
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除
- 关于datalist 中的一些编辑和更新
- DataList编辑、更新、取消、删除、分页
- DataList编辑、更新、取消、删除、分页(分页控件AspNetPager.dll)
- SQL server数据库检索记录,编辑记录(添加,更新,删除)实例
- GridView怪问题,更新时读取不到编辑后的值
- Datagrid怎么根据选择的checkbox编辑和更新多行记录?
- Datagrid怎么根据选择的checkbox编辑和更新多行记录
- DataList 编辑、删除、更新、取消
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除 .
- DataList编辑、更新、取消、删除、分页(分页控件AspNetPager.dll)