在datagrid的编辑模版中有个名为txt_new的文本框,在datagrid的update事件中有
TextBox newname =(TextBox)e.Item.FindControl("txt_new");
string name=newname.text.tostring();
为什么每次name的值都是空呢??
TextBox newname =(TextBox)e.Item.FindControl("txt_new");
string name=newname.text.tostring();
为什么每次name的值都是空呢??
没必要text.tostring()
string str=tb.Text;
{
bool Boolean;
string StrErr;
entity_dic entity = new entity_dic();
entity.code = System.Convert.ToDecimal(Datagrid2.DataKeys[e.Item.ItemIndex].ToString());
//entity.lxdm = TB_lxdm.Text;
TextBox t2 = (TextBox)e.Item.FindControl("textbox3");
CheckBox c1=(CheckBox)e.Item.FindControl("chkenabled");
entity.content = t2.Text;
entity.editable = c1.Checked;
Da_dic Da =new Da_dic();
if(entity.content!="")
{
Boolean = Da.Up_Dic(entity);
StrErr = Da.StrError;
if ((!Boolean) || (StrErr !=null))
{
//MessageBox.Show(StrErr, "数据库错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
System.Console.WriteLine(StrErr);
//Reponse.Write(StrErr)
return;
}
}
else{
Page.Response.Write("<script language=javascript>alert(\'词典内容不能为空\');</script>");
return;
}
this.Datagrid2.EditItemIndex=-1;
BindGrid();
}
前台
<asp:TemplateColumn HeaderText="字典内容">
<ItemTemplate>
<asp:Label id=Label3 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.content") %>'>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBox id="TextBox3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.content") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="是否可见">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"editable") %>
</ItemTemplate>
<FooterTemplate>
<asp:CheckBox id="Checkbox1" Runat="server" Checked='true'></asp:CheckBox>
</FooterTemplate>
<EditItemTemplate>
<asp:CheckBox id=chkenabled Runat="server" Checked='<%# DataBinder.Eval(Container.DataItem,"editable") %>'>
</asp:CheckBox>
</EditItemTemplate>
</asp:TemplateColumn>