help me!急救!datagrid修改后,传到后端代码的值怎么还是修改之前的值?
<asp:datagrid id="categroies" runat="server" AutoGenerateColumns="False" OnEditCommand="categroies_Edit"OnUpdateCommand="categroies_Update" OnCancelCommand="categroies_Cancel" OnDeleteCommand="categroies_Delete"
BorderColor="White" BorderWidth="2px" GridLines="None" CellPadding="3" CellSpacing="1" HeaderStyle-BackColor="#C1DA90"
AlternatingItemStyle-BackColor="#eeeeee" HorizontalAlign="Left" OnPageIndexChanged="categroies_PageIndexChanged"
DataKeyField="type_id" PagerStyle-Position="TopAndBottom" PagerStyle-HorizontalAlign="Center"
PagerStyle-PrevPageText="Previous" PagerStyle-NextPageText="Next" PagerStyle-Mode="NextPrev"
PageSize="15" AllowSorting="True" AllowPaging="True" BackColor="White" BorderStyle="Ridge"
width="100%">
<PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Right" ForeColor="Black"
Position="TopAndBottom" BackColor="#F0F9DF"></PagerStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="Honeydew"></SelectedItemStyle>
<ItemStyle ForeColor="Black" BackColor="GhostWhite"></ItemStyle>
<Columns>
<asp:BoundColumn DataField="type_id" ReadOnly="True" HeaderText="类别号" ItemStyle-Width="100"></asp:BoundColumn>
<asp:BoundColumn DataField="type_name" HeaderText="类别名称" ItemStyle-Width="200"></asp:BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="确认" CancelText="取消" EditText="修改" ItemStyle-Width="100"
HeaderText="修改"></asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" CommandName="Delete" ItemStyle-Width="100" HeaderText="删除"></asp:ButtonColumn>
</Columns>
</asp:datagrid>
以上为datagrid代码,我修改type_name字段后,后端代码((TextBox)E.Item.Cells[1].Controls[0]).Text 取出来的type_name值怎么还是修改之前值,急救,帮忙,谢谢! --------------------编程问答-------------------- 高手,帮帮忙,烦请指教,急救,急救,谢谢 --------------------编程问答-------------------- 各位大虾,帮帮忙,我是新手,实在找不出问题来。。。 --------------------编程问答-------------------- 2003 那说明你根本没修改 --------------------编程问答-------------------- 我确实修改了啊,测试过N次,不管怎么修改,后端代码,取出来的值,都是修改之前的值,请大虾门看看,是不是哪里参数设置得有问题? --------------------编程问答-------------------- 你看是否数据库的值修改了,在看看加载次序问题 --------------------编程问答-------------------- 数据库的值没修改,加载次序问题是什么问题? --------------------编程问答-------------------- 应该是个很简单的过程,表单项修改后,传到后端((TextBox)E.Item.Cells[1].Controls[0]).Text 取出来,居然还是修改之前的值,就是这简单的过程,硬是找不出问题来,百思不得其解 --------------------编程问答-------------------- 顶哈 --------------------编程问答-------------------- 用这种方法直接取试试
string typeName=e.Item.Cells[0].Text;
应该可以成功,简单测试通过 --------------------编程问答-------------------- 这样取的是该字段的项,不是它的值。。。 --------------------编程问答-------------------- ((TextBox)E.Item.Cells[1].Controls[0]).Text 取值是这样取的,没问题,是不是前面的参数有问题,导致不能修改?但是哪些参数我不是很了解,各位大虾帮帮忙。 --------------------编程问答-------------------- 搂主在吗 --------------------编程问答-------------------- 你是在那里把 字段的值改的? --------------------编程问答-------------------- 在的,运行后,在网站里改的,有测试,点修改后,到后端代码修改事件,取出来的值居然是修改之前的 --------------------编程问答-------------------- 以前不懂ASP.NET,公司要我跟个ASP.NET的网站,今天上午才开始看代码,就遇到这个问题,找不出原因... --------------------编程问答-------------------- 你取值的语句写在那个方法里了啊,是不是在修改之前就执行了。你单步调试一下 --------------------编程问答-------------------- 有个不太可能的情况,一般不可能出现,但是我以前犯过……
提示一下楼主:没有在!IsPostBack里面给DataGrid初始化 --------------------编程问答-------------------- 写在categroies_Update 修改的方法里面的,就是因为之前网站不能修改,我测试才知道是修改的方法里取出来的值就是修改之前的值,开始还以为是sql语句没更新成功. --------------------编程问答-------------------- !IsPostBack这个是什么东东?在哪里设置的,,麻烦告知下,我是跟的别人做的网站,但是他走了,公司就要我接下来,但我不懂.NET...看了一上午,才能处理点问题了,而且公司都没一个会.NET的,我好可怜啊 --------------------编程问答-------------------- !IsPostBack怎么用,写在哪里,举个例子好吗?谢谢 --------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Bind
}
} --------------------编程问答-------------------- Page_Load
if(!Page.Ispostback)
{
.........
} --------------------编程问答-------------------- Page_Load中加入
if(!Page.Ispostback)
{
.......绑定datagrid1
datagrid1.DataBind();
}
if(!Page.Ispostback)是指第一次进入页面执行里面的操作,之后进行的回传(Page.Ispostback)都不进行操作
--------------------编程问答-------------------- protected void GridView1_RowEditing ( object sender, GridViewEditEventArgs e )
{
this.GridView1.EditIndex = e.NewEditIndex;
GridViewBind ();
}
只有给this.GridView1.EditIndex赋值且绑定GridView,
当点编辑按钮的时候所有控件才处于编辑状态
此时你才可以使用((TextBox)E.Item.Cells[1].Controls[0]).Text得到编辑框 --------------------编程问答-------------------- 谢谢大家,特别是rryqsh(日日野晴矢),就是这个Ispostback的问题,现在已OK,谢谢 --------------------编程问答-------------------- 到中国错误信息网(www.errmsg.cn)的asp.net版去问问吧,
那里高手比较多,可能有人知道
--------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Bind
}
}
补充:.NET技术 , ASP.NET