当前位置:编程学习 > C#/ASP.NET >>

一个GridView1的错误~我怎么都看不出

   protected void GridView1_Load(object sender, EventArgs e)
    {
       ((Label)GridView1.FindControl("Label23")).Text = DateTime.Now.Date.ToString();
    }

大家看~这段错那了~郁闷~应该怎么改呢~!汗 --------------------编程问答-------------------- ((Label)(GridView1.FindControl("ff"))).Text = DateTime.Now.ToString(); --------------------编程问答-------------------- LZ这段代码是干什么用的啊?
一般的的绑定应该写在rowdatabound事件中把
你在Rowdatabound事件中用
((label)e.Row.FindControl("Label23")).Text=DateTime.Now.Date.ToString();
试试 --------------------编程问答--------------------     
    protected void GridView1_Load(object sender, EventArgs e) 
    { 
       ((Label)GridView1.Rows[0].FindControl("Label23")).Text = DateTime.Now.Date.ToString(); 
    }  --------------------编程问答-------------------- 你那个GridView1为何要转为Label呢
你想拿这个做什么?
要显示当前日期的话直接用Label就可以了啊 --------------------编程问答-------------------- LS这是一加载就用的
有E的事件吗
我小菜问问
实在懂不起 --------------------编程问答-------------------- 为什么说它能够找到Label23?

可以参看:http://topic.csdn.net/t/20050422/18/3959375.html

要深入到asp.net机制中。对于能够接受外包任务的专业程序员来说读入门书很不足够。 --------------------编程问答-------------------- 你想把这一列都做成一个值?

如果是单元格操作,可以考虑RowDataBound事件,

而且,该数据最好在dataSource里,去数据才用LZ的办法 --------------------编程问答-------------------- 在gv中findcontrol一定要在前面加上确定的行数,否则是找不到的

如果你想绑定gv中所有行的列Label23为Datatime.Now的话这样写就行


protected void GridView1_Load(object sender, EventArgs e)  
    {  
       for(int i = 0;i < GridView1.Rows.Count; i++)
       {
            ((Label)GridView1.Rows[i].FindControl("Label23")).Text = DateTime.Now.Date.ToString();  
       }
    } 
--------------------编程问答-------------------- 关于FindControl的功能的简单解释。FindControl的机制跟一般入门者的按照字面的理解并不完全一样。

http://topic.csdn.net/u/20080318/20/7a405e23-14e4-466d-a4b2-38667e078f41.html --------------------编程问答-------------------- 你应该在 Rowdatabound 事件中 操作你那各  如楼上 所说 你  仔细考虑一下 --------------------编程问答-------------------- 2楼的正解,
如果你想改变绑定的值,一般在rowdatabound事件中处理
而且GridView1.FindControl("Label23")也是错误的,
你的GridView1应该不止一行吧,而你的Label23又是在哪一行呢 --------------------编程问答-------------------- protected void GridView1_Load(object sender, EventArgs e)
    {
       ((Label)GridView1.FindControl("Label23")).Text = DateTime.Now.Date.ToString();
    } 

直接在GridView1里FindControl是不行的,因为它是由很多行组成的,最起码你应该在某一行里查
如:((Label)GridView1.Rows[0].FindControl("Label23")).Text = DateTime.Now.Date.ToString();

但是不知道你想要的什么效果,一般是在Rowdatabound 事件中写的!不在自己的加载里写,这样会影响
其他行!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,