主题:  请求蓝鲸帮助,帮我看看是哪里的问题,谢谢

fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#12006/4/6 9:26:02
我在repeater控件下,加入Label控件,后台代码如下:
运行的时候提示未将对象引用设置到对象的实例,初学,不知道是不是代码写的有问题,请热心人帮助,谢谢。

代码片断:
Dim mydataadapter As New SqlDataAdapter
strsql = "select * from 表2 order by uid desc "
mydataadapter = New SqlDataAdapter(strsql, myconn)
mydataadapter.Fill(ds, "1")
'循环

For i = 0 To ds.Tables("1").Rows.Count - 1

If ds.Tables("1").Rows(i).Item("sss") = "n" Then
Label2.Text = "正在填写"
End If
If ds.Tables("1").Rows(i).Item("sss") = "y" Then
Label3.Text = "填写完成"
End If

next

运行提示:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 83: End If
行 84: If ds.Tables("1").Rows(i).Item("sss") = "n" Then
行 85: Label2.Text = "正在填写"
行 86: End If
行 87:
源文件: D:\network\dcbnet\WebApplication1\dcb_list.aspx.vb 行: 85

编辑历史:[此帖最近一次被 fororacle 编辑过(编辑时间:2006-04-07 13:22:45)]


yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
#22006/4/6 12:52:13
SQL语句有点问题啊



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#32006/4/6 14:21:46
Label2控件可能由于误操作,或其它原因,没有放置在ASPX文件中


非常大鱼

fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#42006/4/7 13:20:55
蓝鲸你好

我先建立的repeater控件,再往里拖动label控件就拖不进去了我只能手动在html代码里,把<asp:Label id="Label4" runat="server">Label</asp:Label>加到repeater循环的一个单元格里,
正常应该怎么操作



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#52006/4/7 13:36:10
那你应该用findcontrol的方法得到控件.而不是直接引用



fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#62006/4/7 13:53:47
allinhands在上个帖子中说
引用:
那你应该用findcontrol的方法得到控件.而不是直接引用



能给个具体的例子吗



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#72006/4/7 14:27:36
foreach (DataGridItem item in DataGrid1)
{
    Label label2 = (Label)item.FindControl["label2"];

    if (ds.Tables[0].Rows[item.ItemIndex]["sss"] == "n" )
        Label2.Text = "正在填写";
    eles if (ds.Tables[0].Rows[item.ItemIndex]["sss"] == "y" )
        Label2.Text = "填写完成";
}


非常大鱼

fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#82006/4/7 14:59:54
蓝鲸在上个帖子中说
引用:
foreach (DataGridItem item in DataGrid1)
{
    Label label2 = (Label)item.FindControl["label2"];

    if (ds.Tables[0].Rows[item.ItemIndex]["sss"] == "n" )
        Label2.Text = "正在填写";
    eles if (ds.Tables[0].Rows[item.ItemIndex]["sss"] == "y" )
        Label2.Text = "填写完成";
}



蓝鲸太感谢了,能给我个vb.net的写法吗:)



fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#92006/4/7 21:21:39
((HyperLink)Repeater1.Items[i].FindControl("HyperLink1").Text = "【查看】"

提示横线处语法错误,怎么改?



fororacle

职务:普通成员
等级:1
金币:0.0
发贴:20
#102006/4/9 21:27:02
问题都解决了,多谢蓝鲸的帮助。