您的位置:首页 > 其它

DataList 编辑记录时,更新取不到值的原因

2012-10-13 14:28 204 查看
这几天项目特别的紧。本来想用新出的 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 这样不会每次回发的时候重新绑定了。。。。。郁闷。。。希望对大家也有帮助,我看网上好多人在人这样的问题。特地留个信号。。方便大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: