gpt4 book ai didi

c# - 从后面的代码访问时,Gridview FooterRow 文本框文本为空

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:53 25 4
gpt4 key购买 nike

我有一个包含以下列的 GridView

     <asp:TemplateField HeaderText="Name">
<FooterTemplate>
<asp:TextBox ID="txt_Name" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lbl_name" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "t_Name") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt_name" runat="server" Width="100px" Text='<%#DataBinder.Eval(Container.DataItem,"t_Name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Created By">
<ItemTemplate>
<asp:Label ID="lbl_tabcreatedby" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "t_CreatedBy") %>' />
</ItemTemplate>
</asp:TemplateField>

<asp:CommandField HeaderText="Modify" ShowEditButton="True" />

<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" />

<asp:TemplateField HeaderText="Add a New Name">
<FooterTemplate>
<asp:LinkButton ID="lnkbtn_AddName" runat="server" CommandName="Insert">Add Name</asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>

然后在代码隐藏中,我尝试访问 txt_Name 文本框作为

protected void gv_Name_RowCommand(object sender, GridViewCommandEventArgs e)
{
string t_Name = ((TextBox)(gv_Name.FooterRow.FindControl("txt_Name"))).Text;
// Insert Code
}

但无论 txt_Name 的当前文本是什么,我每次都会在字符串 t_Name 中得到 null。但是,如果我禁用页面的 ViewState,我可以获得文本。任何解释。

最佳答案

我已经通过使用一个额外的变量解决了这个问题,请参阅以下内容:

Dim txtBox As TextBox = GridView1.FooterRow.FindControl("txtName")
Dim name As String = txtBox.Text

关于c# - 从后面的代码访问时,Gridview FooterRow 文本框文本为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com