最好能把所有代码都贴出来
是在datagrid里面吗
如果是,好像不能这样写

解决方案 »

  1.   

    是不是没有把这个控件包含到cs文件里?
    双击它进入cs页面看看
      

  2.   

    代码部分:Exam_SRC.aspx.vb:Imports System.Data
    Imports System.Data.SqlClientPublic Class Exam_SRC
        Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 "    '该调用是 Web 窗体设计器所必需的。
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub
        Protected WithEvents D As System.Web.UI.WebControls.DataList
        Protected WithEvents DList_Odd As System.Web.UI.WebControls.DataList
        Protected WithEvents Btn_Post As System.Web.UI.WebControls.Button
        Protected WithEvents LblMsg As System.Web.UI.WebControls.Label    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
        '不要删除或移动它。
        Private designerPlaceholderDeclaration As System.Object
        Protected Odd_S_ID As Integer    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
            '不要使用代码编辑器修改它。
            Dim Test_Name As String
            Dim Subject_ID, Odd_S_Num_B, Mul_SNum_B, Judgement_Num_B, Compsition_Num_B, FillBlank_B As Integer
            Test_Name = Session("Test_Name")
            Subject_ID = (Session("Subject_ID"))
            Odd_S_Num_B = Session("Odd_S Num_B")
            Mul_SNum_B = Session("Mul_SNum_B")
            Judgement_Num_B = Session("Judgement_Num_B")
            Compsition_Num_B = Session("Compsition_Num_B")
            FillBlank_B = Session("FillBlank_B")        Dim myconn As New SqlConnection
            myconn.ConnectionString = "Data Source=localhost;Initial Catalog=zjnuexam;User Id=sa;Password=sa;"
            myconn.Open()        Dim SqlStr As String
            SqlStr = "select top " & Odd_S_Num_B & " Odd_S_ID,Question,Odd_A,Odd_B,Odd_C,Odd_D from OddSelection where Subject_ID='" & Subject_ID & "' order by newid()"
            Dim myDataSet_Odd_S As DataSet = GetDataSet("OddSelection", SqlStr, "zjnuexam")        DList_Odd.DataSource = myDataSet_Odd_S
            DList_Odd.DataBind()        InitializeComponent()
        End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码    End Sub    Private Function GetDataSet(ByVal myTable As String, ByVal SqlStr As String, ByVal MyDataBase As String) As DataSet
            Dim myConn As New SqlConnection
            myConn.ConnectionString = "Data Source=localhost;User Id=sa;Password=sa;Initial Catalog=" & MyDataBase & ";"
            myConn.Open()
            Dim myadapater As SqlDataAdapter = New SqlDataAdapter(SqlStr, myConn)
            Dim myDataSet As New DataSet
            myadapater.Fill(myDataSet, myTable)
            GetDataSet = myDataSet    End Function
        Protected Sub Btn_Post_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            LblMsg.Text = "成功提交试卷!"
            Dim i As Integer        Dim SelAnswer As String
            Dim RightAnswer As String        Dim R_A As RadioButton
            Dim R_B As RadioButton
            Dim R_C As RadioButton
            Dim R_D As RadioButton
            Dim Lbl_Odd As Label
            Dim Odd_ID As Integer        For i = 0 To DList_Odd.Items.Count - 1            Dim DList_Odd_Item As DataListItem = DList_Odd.Items(i)            R_A = DList_Odd_Item.FindControl("RB_A")
                R_B = DList_Odd_Item.FindControl("RB_B")
                R_C = DList_Odd_Item.FindControl("RB_C")
                R_D = DList_Odd_Item.FindControl("RB_D")
                Lbl_Odd = DList_Odd_Item.FindControl("Odd_ID")            Odd_ID = Lbl_Odd.Text
                If R_A.Checked Then
                    SelAnswer = "A"
                Else
                    If R_B.Checked Then
                        SelAnswer = "B"
                    Else
                        If R_C.Checked Then
                            SelAnswer = "C"
                        Else
                            If R_D.Checked Then
                                SelAnswer = "D"
                            Else
                                SelAnswer = "0"
                            End If
                        End If
                    End If
                End If            RightAnswer = GetRightAnswer(Odd_ID)            If SelAnswer = RightAnswer Then
                    Lbl_Odd.Text = "恭喜,您答对了!"
                    Lbl_Odd.Visible = True
                Else
                    Lbl_Odd.Text = "对不起,您错了!正确答案是:" & RightAnswer.ToString
                    Lbl_Odd.Visible = True
                End If            ' Btn_Post.Enabled = False        Next
        End Sub    Private Function GetRightAnswer(ByVal ID As Integer) As String
            Dim myconn As New SqlConnection
            myconn.ConnectionString = "Data Source=localhost;User Id=sa;Password=sa;Initial Catalog=zjnuexam"
            myconn.Open()        Dim mycmd As New SqlCommand
            mycmd.Connection = myconn
            mycmd.CommandText = "select Odd_key from OddSelection where Odd_S_ID=" & ID & ""        Dim myreader As SqlDataReader
            myreader = mycmd.ExecuteReader        If myreader.Read Then
                Return myreader.GetString(0)
            Else
                Return ""
            End If        myreader.Close()
            myconn.Close()    End Function
    End Class
      

  3.   

    Protected Sub Btn_Post_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     ‘我想问一下 在 DataList控件里面有个Button控件那么,函数这么定义是否可以,
     ’如果不可以,那么该怎么写???
    ‘谢谢。        LblMsg.Text = "成功提交试卷!"
            Dim i As Integer        Dim SelAnswer As String
            Dim RightAnswer As String        Dim R_A As RadioButton
            Dim R_B As RadioButton
            Dim R_C As RadioButton
            Dim R_D As RadioButton
            Dim Lbl_Odd As Label
            Dim Odd_ID As Integer        For i = 0 To DList_Odd.Items.Count - 1            Dim DList_Odd_Item As DataListItem = DList_Odd.Items(i)            R_A = DList_Odd_Item.FindControl("RB_A")
                R_B = DList_Odd_Item.FindControl("RB_B")
                R_C = DList_Odd_Item.FindControl("RB_C")
                R_D = DList_Odd_Item.FindControl("RB_D")
                Lbl_Odd = DList_Odd_Item.FindControl("Odd_ID")            Odd_ID = Lbl_Odd.Text
                If R_A.Checked Then
                    SelAnswer = "A"
                Else
                    If R_B.Checked Then
                        SelAnswer = "B"
                    Else
                        If R_C.Checked Then
                            SelAnswer = "C"
                        Else
                            If R_D.Checked Then
                                SelAnswer = "D"
                            Else
                                SelAnswer = "0"
                            End If
                        End If
                    End If
                End If            RightAnswer = GetRightAnswer(Odd_ID)            If SelAnswer = RightAnswer Then
                    Lbl_Odd.Text = "恭喜,您答对了!"
                    Lbl_Odd.Visible = True
                Else
                    Lbl_Odd.Text = "对不起,您错了!正确答案是:" & RightAnswer.ToString
                    Lbl_Odd.Visible = True
                End If           Btn_Post.Enabled = False    ’就是这句出现问题,说 没有实例化。???        Next
        End Sub
      

  4.   

    <DataList runat="server" id="..." ...><FooterTemplate><asp:Button id="Btn_Post" runat="server" Text="提交试卷" OnClick="Btn_Post_Click"></asp:Button>    '有个OnClick 事件的。</FooterTemplate></DataList> 高手指点我呀!
      

  5.   

    Protected Sub Btn_Post_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Private Sub Btn_Post_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoginBtn.Click不知道是不是你没有在后面加这个东西呢?
    Handles LoginBtn.Click