在datagrid更新事件里,有一个模板列,前台代码是这样的
<asp:TemplateColumn HeaderText="序列号">
<ItemTemplate>
<asp:Label Runat="server" ID="lsn"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="sn" Runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
我后台用什么语句能取到他的值,
璇儿 说:
我用(e.Item.FindControl("sn") as TextBox).Text,语法没问题,但是没取到值。最后30分了,帮我解决这个难题呀,各位大哥
<asp:TemplateColumn HeaderText="序列号">
<ItemTemplate>
<asp:Label Runat="server" ID="lsn"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="sn" Runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
我后台用什么语句能取到他的值,
璇儿 说:
我用(e.Item.FindControl("sn") as TextBox).Text,语法没问题,但是没取到值。最后30分了,帮我解决这个难题呀,各位大哥
e.Item.Cell[i].Text = ...
if(e.Item.FindControl("sn") != null)
{
(e.Item.FindControl("sn") as TextBox).Text
}
else
{
throw new ApplicationException("空引用");
}
{
(e.Item.FindControl("sn") as TextBox).Text
}
e.Item.Cell[i].Text = ...
对绑定列是对的,但是对模板就不行的,试过了
string str = txt.Text;
if( !IsPostBack )
{}里面……
<ItemTemplate>
<asp:Label Runat="server" ID="lsn"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="sn" Runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>改为
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="序列号">
<ItemTemplate>
<asp:TextBox ID="sn" Runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
你要是在page_load邦定数据而没有检查 ispostback
你是得不到值的,这个是初学者常犯的错误
string str = txt.Text;
Dim bb As String
txtDtGrid = e.Item.FindControl("sn")
bb = txtDtGrid.Text