我是用IList<XXInfo>绑定的GridView,然后我想要获得行源数据
就是获取那行的XXInfo,不要一个个的获取,如:GridView1.Rows[GridView1.EditIndex].Cells[0].Text什么的,
有没有像repeater控件的XXInfo xx=(XXInfo)Repeater1.Items[0];这样直接获取的?还有个问题就是在 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
MessageInfo mess = new MessageInfo();
mess.ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
mess.Reply = ((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[3].Controls[0])).Text;
MessageBLL.SaveMessage(mess);
GridView1.EditIndex = -1;
MyDataBind();
}
什么情况下((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[3].Controls[0])).Text这里取的值一直是修改前的?意思就是比如我点了更新,然后变成了TextBox的模样,打了几个字上去,点更新的时候发现获取的值还是修改之前的
这是什么情况?
就是获取那行的XXInfo,不要一个个的获取,如:GridView1.Rows[GridView1.EditIndex].Cells[0].Text什么的,
有没有像repeater控件的XXInfo xx=(XXInfo)Repeater1.Items[0];这样直接获取的?还有个问题就是在 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
MessageInfo mess = new MessageInfo();
mess.ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
mess.Reply = ((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[3].Controls[0])).Text;
MessageBLL.SaveMessage(mess);
GridView1.EditIndex = -1;
MyDataBind();
}
什么情况下((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[3].Controls[0])).Text这里取的值一直是修改前的?意思就是比如我点了更新,然后变成了TextBox的模样,打了几个字上去,点更新的时候发现获取的值还是修改之前的
这是什么情况?
解决方案 »
- 怎样用代码实现gridview的编辑,删除.
- 100分,讨论一下Web2.0标签功能的实现
- TNND!VS竟然又这样的问题
- asp.net中调用js文件的问题
- ASP.NET(2.0测试版)生成的网站访问速度其慢无比????郁闷~
- 在英文版上使用中文时 Encoding 出问题!高手、圣手、老手、新手、黑手、白手统统欢迎!!请进!
- 无法将类型为“DataBoundLiteralControl”的对象强制转换为类型“WebControls.DropDownList”
- 怎样正确读取在线编辑器的值
- 送分來了,回答者都有分!!一個DataList組件的數據顯示問題??
- C#调用IC卡读卡器DLL,不出现输入密码界面
- 用asp.net编写一个小型门户网站
- petshop疑问1
{
//绑定数据
}
根据GridView1.Rows[GridView1.EditIndex].Cells[0].Text或
GridView1.DataKeys[e.RowIndex].Value查询获取实体对象
ItemTemplate还是EditItemTemplate?
if(!IsPostBack)
{
//绑定数据
}
里了....
那第一个问题:不能直接从GridView中提取实体对象么?
在RowUpdating中,如果你不想找控件,可以通过DataKeys重新读数据库
int count = GridView1.Rows[e.NewEditIndex].Controls.Count;
for (int i = 0; i < count; i++)
{
Label5.Text += ((Label)GridView1.Rows[e.NewEditIndex].Controls[i]).Text;
}
除非你的item里面的数据空间都为同种类型比如label。 不然会报转换错误....因为取子控件的值的时候需要强转。
{
//绑定数据
}
根据GridView1.Rows[GridView1.EditIndex].Cells[0].Text或
GridView1.DataKeys[e.RowIndex].Value查询获取实体对象顶 如梦