再Grid View用模板添加了个TextBox列 以供输入成绩
代码:
<asp:TemplateField HeaderText="成绩">
<ItemTemplate>
<asp:TextBox ID="txtScore" Width="40" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>在后台代码怎么样得到 txtScore 的值
我写的代码:
for (int i = 0; i < GridView1.Rows.Count; i++)
{
int score = int.Parse(((TextBox)GridView1.Rows[i].FindControl("txtScore")).Text.Trim());
Response.Write(score);
}提示的错误是: 输入字符串的格式不正确。//int score = int.Parse(((TextBox)GridView1.Rows[i].FindControl("txtScore")).Text.Trim());应该怎么该阿?
代码:
<asp:TemplateField HeaderText="成绩">
<ItemTemplate>
<asp:TextBox ID="txtScore" Width="40" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>在后台代码怎么样得到 txtScore 的值
我写的代码:
for (int i = 0; i < GridView1.Rows.Count; i++)
{
int score = int.Parse(((TextBox)GridView1.Rows[i].FindControl("txtScore")).Text.Trim());
Response.Write(score);
}提示的错误是: 输入字符串的格式不正确。//int score = int.Parse(((TextBox)GridView1.Rows[i].FindControl("txtScore")).Text.Trim());应该怎么该阿?
{
if(e.Row.RowIndex>-1)
{
TextBox txt = (TextBox)(e.Row.FindControl("txtScore"));
string aa = txt.Text;
Response.Write(aa);
}
}
不需要使用循环
for (int i = 0; i < GridView1.Rows.Count; i++)
{
int score = int .Parse(((TextBox)GridView1.Cells[i].FindControl("txtScore")).Text.Trim();
Response.Write(score);
}
我使用循环是为了每次获得一个Score就把他插到数据库中,我现在就想问怎么样才能直接得到txtScore里的值
//int score = int .Parse(((TextBox)GridView1.Cells[i].FindControl("txtScore")).Text.Trim();
GridView1.Cells[i].不可以直接用阿
再Grid View用模板添加了个TextBox列 以供输入成绩
代码:
<asp:TemplateField HeaderText="成绩">
<ItemTemplate>
<asp:TextBox ID="txtScore" Width="40" runat="server"> </asp:TextBox>
</ItemTemplate>
</asp:TemplateField> 在后台代码怎么样得到 txtScore 的值
在以下事件中写如下代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
if(e.Row.RowIndex>-1)
{
TextBox txt = (e.Row.FindControl("txtScore") as TextBox).Text;
string aa = txt.Text;
Response.Write(aa);
}
}
}
{
int score = int .Parse(((TextBox)gvSource.Rows[e.RowIndex].Cells[i].Controls[0]).Text);
}