asp.net中gridview控件的一下问题,急!
来源:百度知道 编辑:UC知道 时间:2024/05/18 15:24:50
我用了一个gridview控件,然后添加了一个模板列,然后在模板列ItemTemplate里拖放了一个HTML的TextBox文本框控件,然后把这个控件作为服务器控件运行,并给这个他的value属性绑定一个数据库的字段,但是现在出现一个问题是,我无法获得这个TextBox的值。
if (GridView1.Rows.Count > 0)
{
string s = this.GridView1.Rows[2].Cells[0].Text;
}
s值为空
然后我换成:
if (GridView1.Rows.Count > 0)
{
string s = this.GridView1.Rows[2].Cells[0].Controls[0].(这里就点不出来了,因为Controls是只能获得服务器控件的)
this.TextBox1.Text = s;
}
我现在应该怎么解决这个问题呢?
要求是不能用服务器控件,要是能用那个我早就换了!
if (GridView1.Rows.Count > 0)
{
string s = this.GridView1.Rows[2].Cells[0].Text;
}
s值为空
然后我换成:
if (GridView1.Rows.Count > 0)
{
string s = this.GridView1.Rows[2].Cells[0].Controls[0].(这里就点不出来了,因为Controls是只能获得服务器控件的)
this.TextBox1.Text = s;
}
我现在应该怎么解决这个问题呢?
要求是不能用服务器控件,要是能用那个我早就换了!
string s = this.GridView1.Rows[2].Cells[0].Controls[0]
你这样写肯定点不出来的。
string s = ((HtmlInputText)this.GridView1.Rows[2].Cells[0].Controls[0]).Text
应该这样写,先强制转换,这样就可以读取了。
下边的这个,是不是应该用:
string s = this.GridView1.Rows[2].Cells[0].Controls[0].text
.不出来很正常。因为可以在运行的时候加入新的控件,所以只有在运行时才能知道Controls[0]是什么。
string s = this.GridView1.Rows[2].Cells[0].Controls[0]
这句难道没报错吗
TextBox tb = gridview.FindControl("ControlID");
string tb = tb.text;
那你把HTML的换成服务器的不就OK了
指定模版中TextBox控件的id,采用findcontrol(id)