关于datarid的visible=false的列中控件取值的问题

happyjun2000 2005-03-18 08:43:07
<EditItemTemplate>
<asp:TextBox ID="txtTest" runat="server" Width=60 Text='<%# DataBinder.Eval(Container, "DataItem.collectId") %>'>
</asp:TextBox>
<asp:Label ID="lblTest" Runat=server Width=60 text='<%# DataBinder.Eval(Container, "DataItem.collectId") %>'></asp:Label>

</EditItemTemplate>


然后在后台的update命令中取值,但是我发现Label 是可以取道值的,TextBox 却不可以,因该怎么做???谢谢大虾门
private void gridmain_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//test
TextBox txtTest = ( TextBox ) gridmain.Items[e.Item.DataSetIndex].FindControl ( "txtTest" ) ;
DataAccess.common.setMessage( txtTest.Text ) ;
Label lblTest = ( Label ) gridmain.Items[e.Item.DataSetIndex].FindControl ( "lblTest" ) ;
DataAccess.common.setMessage( lblTest.Text ) ;
return ;
}
...全文
153 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasychina 2005-03-21
  • 打赏
  • 举报
回复
可以试一下,在单击“编辑”的时候把visibel=false的texbox对应的label的值取出,保存,当更新的时候,用保存的值代替texbox中的值。
Iceguy 2005-03-21
  • 打赏
  • 举报
回复
每一列都可以取值,不管隐藏还是不隐藏。
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string 第一列=e.Item.Cells[0].Text; //第一列的值;
string 第二列=e.Item.Cells[1].Text;
string 第三列=e.Item.Cells[2].Text;
string 第四列=e.Item.Cells[3].Text;
.....

这里的列都和你DataGrid里的列一一对应的,Visible=false;是客户端看不到了,但在内存中还是存在的。

lgsg_01 2005-03-21
  • 打赏
  • 举报
回复
帮顶!
terryshi 2005-03-21
  • 打赏
  • 举报
回复
难道是postback?
happyjun2000 2005-03-21
  • 打赏
  • 举报
回复
up
happyjun2000 2005-03-21
  • 打赏
  • 举报
回复
大哥,我是说要取e.Item.Cells[0]的控件的textbox控件中的值
happyjun2000 2005-03-18
  • 打赏
  • 举报
回复
up
happyjun2000 2005-03-18
  • 打赏
  • 举报
回复
TextBox我可以取道他的实例,但是居然说它的值是空的,我只要把<EditItemTemplate>的visible该为true,就可以取道了

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧