我用MS的Visual .net 2003做asp.net网页,在一个页面内添加了一个用户登陆的相关控件(其后还设置必填验证控件),“确定”按钮的ID为btnOK,并在“确定”按钮后添加了一个标签(label)控件(ID为lblmessage)用于显示,并在btnOK的单击事件中输入了lblmessage.text=…………。
然后又在这个“整个登陆控件”的后面添加了另外的一些控件也有Click事件的按钮和显示结果标签(label)控件的,F5运行后,我点第二个按钮,第二个标签(label)控件无显示,必须把第一个用户登陆的条件满足了,第二个控件的结果才能正确显示,当然两个整体的控件的ID是不同的,并且运行时没有系统错误提示,请问这样的问题怎么解决?谢谢帮忙,感激!!(我把相关的代码写后面了)还有一个问题,我刚开始学习用ASP.NET做网页,现在的程度是初步掌握的基础控件的使用,但我对代码(不是HTML,是Page_Load里面的代码)的程度只能达到顺利看懂的程度(因为我C语言基础比较好,还懂点VC++和C++),但不能写自己的代码,我对VB没有多少了解,请问我想熟练掌握ASP.NET做网站,关于代码的学习我应该看什么书(请说详细点,谢谢),有什么方法可用??请各位朋友和大侠指导下,感激不尽,谢谢先!!#Region " Web 窗体设计器生成的代码 "    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub
    Protected WithEvents txtUserName As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtPassword As System.Web.UI.WebControls.TextBox
    Protected WithEvents rfvUserName As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents rfvPassword As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents btnOK As System.Web.UI.WebControls.Button
    Protected WithEvents btnCancel As System.Web.UI.WebControls.Button
    Protected WithEvents ddlSelect As System.Web.UI.WebControls.DropDownList
    Protected WithEvents btnOk1 As System.Web.UI.WebControls.Button
    Protected WithEvents lblMessage1 As System.Web.UI.WebControls.Label
    Protected WithEvents rfvSelect As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents txtNumberA1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtNumberA2 As System.Web.UI.WebControls.TextBox
    Protected WithEvents btnAdd As System.Web.UI.WebControls.Button
    Protected WithEvents btnSubtract As System.Web.UI.WebControls.Button
    Protected WithEvents btnMultiply As System.Web.UI.WebControls.Button
    Protected WithEvents btnDevide As System.Web.UI.WebControls.Button
    Protected WithEvents lblMessageA1 As System.Web.UI.WebControls.Label
    Protected WithEvents rfvNumberA1 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents cpvNumberA1 As System.Web.UI.WebControls.CompareValidator
    Protected WithEvents rfvNumberA2 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents cpvNumberA2 As System.Web.UI.WebControls.CompareValidator
    Protected WithEvents lblmessage As System.Web.UI.WebControls.Label    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
    End Sub
    Sub operation(ByVal type As String)
        Dim decNumberA1 As Decimal
        Dim decNumberA2 As Decimal
        decNumberA1 = CType(txtNumberA1.Text.Trim(), Decimal)
        decNumberA2 = CType(txtNumberA2.Text.Trim(), Decimal)
        Select Case type
            Case "+"
                lblMessageA1.Text = txtNumberA1.Text + type + txtNumberA2.Text + "=" + (decNumberA1 + decNumberA2).ToString()
            Case "-"
                lblMessageA1.Text = txtNumberA1.Text + type + txtNumberA2.Text + "=" + (decNumberA1 + decNumberA2).ToString()
            Case "*"
                lblMessageA1.Text = txtNumberA1.Text + type + txtNumberA2.Text + "=" + (decNumberA1 * decNumberA2).ToString()
            Case "/"
                lblMessageA1.Text = txtNumberA1.Text + type + txtNumberA2.Text + "=" + (decNumberA1 / decNumberA2).ToString()
        End Select
    End Sub    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        lblmessage.Text = "你输入的用户名为" + txtUserName.Text + ",密码为" + txtPassword.Text
    End Sub    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        lblmessage.Text = "单击取消按钮避开了验证"
    End Sub    Private Sub btnOk1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk1.Click
        lblMessage1.Text = "你选择了" + ddlSelect.SelectedValue
    End Sub    Private Sub txtNumberA1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNumberA1.TextChanged    End Sub    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        operation("+")
    End Sub    Private Sub btnSubtract_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubtract.Click
        operation("-")
    End Sub    Private Sub btnMultiply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMultiply.Click
        operation("*")
    End Sub    Private Sub btnDevide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDevide.Click
        operation("/")
    End Sub
End Class

解决方案 »

  1.   

    你要理清思路再说啊,不然我们也不好理解。把问题想好是什么原因。还有不要把所有的问题都放到一起,分好类别多发几个帖吧。第一个问题是鉴定控件的问题吗?就是一个鉴定控件鉴定另一个服务器控件,点“确定”的时候鉴定控件会先在客户端鉴定,再判断是否postback。但点另外一个按钮也会鉴定啊。这个时候在鉴定控件和"确定"按钮里都加个属性ValidationGroup="随便写个名字",他们就是一组的了,其他按钮没加这个属性,点了就不会再影响鉴定控件了。