gpt4 book ai didi

c# - 如何从 C# 中 gridview 的页脚中的控件获取值?

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:46 24 4
gpt4 key购买 nike

针对以下问题发布的解决方案似乎对我不起作用。

how to get values from textbox which is in gridview Footer c#?

这是我的网格。

      <asp:GridView ID="gridOccupants" runat="server" AllowPaging="True" AutoGenerateColumns="false"
OnRowCommand="gridOccupants_RowCommand">
<asp:TemplateField HeaderText="Name" ItemStyle-Width="15px" FooterStyle-Width="15px">
<asp:TemplateField HeaderText="Id" ItemStyle-Width="15px" FooterStyle-Width="15px">
<itemtemplate>
<asp:Label ID="lblid" runat="server" Text='<%#Bind("id")%>'></asp:Label>
</itemtemplate>
<footertemplate>
<asp:Button ID="btnInsert" runat="Server" Text="Insert" CommandName="Insert" OnClick="InsertOccupant_Click"
UseSubmitBehavior="False" />
</footertemplate>
</asp:TemplateField>
<asp:TemplateField>
<itemtemplate>
<asp:Label ID="lblName" runat="server" Text='<%#Bind("name")%>'></asp:Label>
</itemtemplate>
<footertemplate>
<asp:TextBox ID="txtname2" runat="server" Width="50px" > </asp:TextBox>
</footertemplate>
</asp:TemplateField>
</asp:GridView>

protected void InsertOccupant_Click(object sender, EventArgs e)
{

GridViewRow row = gridOccupants.FooterRow;
string name = ((TextBox)row.FindControl("txtname2")).Text;
}

此代码不会提取用户在文本框中输入的值 - txtname2。

欢迎提出任何想法。

最佳答案

这可能是因为您正在处理 onclick按钮事件而不是处理 rowcommand就像您链接到的样本。

试试这个:

  <asp:GridView ID="gridOccupants" runat="server" AllowPaging="True" AutoGenerateColumns="false"
OnRowCommand="gridOccupants_RowCommand">
<asp:TemplateField HeaderText="Name" ItemStyle-Width="15px" FooterStyle-Width="15px">
<asp:TemplateField HeaderText="Id" ItemStyle-Width="15px" FooterStyle-Width="15px">
<itemtemplate>
<asp:Label ID="lblid" runat="server" Text='<%#Bind("id")%>'></asp:Label>
</itemtemplate>
<footertemplate>
<asp:Button ID="btnInsert" runat="Server" Text="Insert" CommandName="Insert" UseSubmitBehavior="False" />
</footertemplate>
</asp:TemplateField>
<asp:TemplateField>
<itemtemplate>
<asp:Label ID="lblName" runat="server" Text='<%#Bind("name")%>'></asp:Label>
</itemtemplate>
<footertemplate>
<asp:TextBox ID="txtname2" runat="server" Width="50px" > </asp:TextBox>
</footertemplate>
</asp:TemplateField>
</asp:GridView>

protected void gridOccupants_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Insert", StringComparison.OrdinalIgnoreCase))
{
GridViewRow row = ((GridView)sender).FooterRow;
TextBox txtname2 = (TextBox)row.FindControl("txtname2");
if (txtname2 == null)
{
return;
}
string name = txtname2.Text;
}
}

在我的脑海中,我不确定 UseSubmitBehavior="False" 在哪里来自 <asp:Button> .如果我的示例不起作用,那么您可能需要删除它。

关于c# - 如何从 C# 中 gridview 的页脚中的控件获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795893/

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