gpt4 book ai didi

c# - 如何使用 asp.net C# 从 GridView 中的 TemplateField 获取值?

转载 作者:行者123 更新时间:2023-11-30 19:59:22 30 4
gpt4 key购买 nike

我正在尝试检索输入到 Gridview 文本框中的数据,但我没有从中获取任何数据。这是我的代码:

在 ASP 中

<asp:GridView ID="Add" runat="server">
<Columns>
<asp:TemplateField HeaderText="Select" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:CheckBox ID="cbox_Select" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField = "Name" HeaderText = "Fee Type" />
<asp:TemplateField HeaderText="Amount" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:TextBox ID="TextBox" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

在 C# 中,

for (int i = 0; i< n;i++)
{
string a = ((TextBox)Add.Rows[i].Cells[2].FindControl("TextBox")).Text;
}

谁能帮我解决这个问题?

最佳答案

您想遍历 GridViewRowCollection , 并找到控件。

foreach (GridViewRow row in Add.Rows)
{
var textbox = row.FindControl("TextBox") as TextBox;
var a = textbox.Text;
}

演示

<asp:Button ID="Button1" runat="server" Text="SubmitButton" 
OnClick="SubmitButton_Click" />
<asp:GridView ID="Add" runat="server">
<Columns>
<asp:TemplateField HeaderText="Amount" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:TextBox ID="TextBox" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

public class SampleClass
{
public int Id { get; set; }
public string Text { get; set; }
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Add.DataSource = new List<SampleClass>()
{
new SampleClass {Id = 1, Text = "One"},
new SampleClass {Id = 2, Text = "Two"},
};
Add.DataBind();
}
}

protected void SubmitButton_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in Add.Rows)
{
var textbox = row.FindControl("TextBox") as TextBox;
var a = textbox.Text;
}
}

关于c# - 如何使用 asp.net C# 从 GridView 中的 TemplateField 获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24328960/

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