【发布时间】:2014-05-16 00:14:53
【问题描述】:
我想在 ASP.NET 中为我的项目读取整个 gridview 的值。 我已经尝试和搜索了很长一段时间,但还没有找到我想要的东西。
这是我在 aspx 页面中的 gridview:
<asp:GridView ID="GridViewNatuur" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Naam" HeaderText="Mana" />
<asp:TemplateField HeaderText="Aantal">
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" TextMode="Number" AutoPostBack="False" MaxLength="100" Text="0"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
页面加载时,它会获取 6 行的值。对于这些行中的每一行,将创建一个文本框。但是,所有这些文本框都将具有相同的 ID,这很糟糕。我怎样才能防止这种情况?或者,如何读取每一行的文本框值?
BLNatuur blnatuur = new BLNatuur();
List<Natuur> naturen = blnatuur.GetNaturen();
BLManaCost blmanacost = new BLManaCost();
int i = 0;
int aantal;
foreach (GridViewRow gridRow in GridViewNatuur.Rows)
{
ManaCost manaCost = new ManaCost();
manaCost.KaartId = kaartInsertId;
manaCost.TypeId = naturen[i].ID;
string opgehaaldAantal = ((TextBox)GridViewNatuur.Rows[gridRow.RowIndex].Cells[1].FindControl("TextBox1")).Text;
bool correct = Int32.TryParse(opgehaaldAantal, out aantal);
if (!correct)
{
aantal = 0;
}
manaCost.Aantal = aantal;
i++;
blmanacost.InsertManaCost(manaCost);
}
在我粘贴在这里的代码中,我想要正确获取字符串 opgehaaldAantal 部分的变量。
请注意,我目前还没有 ASP.NET 方面的经验。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。