如果你在Page_Load里设置了初始值,那么把他们放在Page.IsPostBack==false里边

解决方案 »

  1.   

    我是要在点 ok 按钮的时候弹出对话框,如果放在Page.IsPostBack==false里面,点ok 的时候不会弹出来。
    Imports System.Data.SqlClient
    Imports System.TextPublic Class newuser
        Inherits System.Web.UI.Page
        Protected WithEvents Label1 As System.Web.UI.WebControls.Label
        Protected WithEvents imgOK As System.Web.UI.WebControls.ImageButton
        Protected WithEvents txtUserID As System.Web.UI.WebControls.TextBox
        Protected WithEvents txtFullNm As System.Web.UI.WebControls.TextBox
        Protected WithEvents rbCorp As System.Web.UI.WebControls.RadioButton
        Protected WithEvents rbCons As System.Web.UI.WebControls.RadioButton
        Protected WithEvents txtDept As System.Web.UI.WebControls.TextBox
        Protected WithEvents txtRC As System.Web.UI.WebControls.TextBox
        Protected WithEvents reqOutlookID As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents reqFullNm As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents reqDept As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents reqRC As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents imgClear As System.Web.UI.WebControls.ImageButton    Dim DB_env As New latte_env.DB_env()
        Dim DBHandler As New DBHandler.Tools()
        Dim UserHandler As New UserHandler.User()
        Protected WithEvents txtConfirm As System.Web.UI.WebControls.TextBox
        Dim FuncHandler As New funcHandler()#Region " Web Form Designer Generated Code "    'This call is required by the Web Form Designer.
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN: This method call is required by the Web Form Designer
            'Do not modify it using the code editor.
            InitializeComponent()
        End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Put user code to initialize the page here
            Dim lastAccess As DateTime
            Dim sUsergroup As String        If User.Identity.Name <> "" Then
                viewState("CurrentUser") = UserHandler.getUserID(User.Identity.Name)
                Dim dr As SqlDataReader = UserHandler.GetUserData(viewState("CurrentUser"), "")
                Do While dr.Read()
                    If dr("LASTACCESSED").ToString <> "" Then
                        lastAccess = Trim(dr("LASTACCESSED").ToString)
                    Else
                        lastAccess = Now()
                    End If
                    sUsergroup = Trim(dr("USERGROUP").ToString)
                    ' Add by ynjn for Admin Module
                    If dr("USER_ROLE").ToString = "Admin" Then
                        'lnkAdm.Enabled = True
                    End If
                Loop
                dr.Close()
                ConfirmMsg1(Me, "New user " + txtUserID.Text + " will be created", txtConfirm)
                imgOK.Attributes.Add("OnClick", "javascript: getConfirm()")
            End If
        End Sub    Private Sub imgClear_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgClear.Click
            Response.Redirect("../Admin/newuser.aspx")
        End Sub    Private Sub imgOK_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgOK.Click        If txtConfirm.Text = "TRUE" Then
                MsgBox(Me, txtConfirm.Text)
            End If
        End Sub
    End Classjavascript:
        Public Function ConfirmMsg1(ByVal page As System.Web.UI.Page, ByVal msg As String, _
                ByVal txtConfirm As System.Web.UI.WebControls.TextBox)
            Dim s As New StringBuilder()
            s.Append("<script language='javascript'>")
            s.Append("function getConfirm(){")
            s.Append("answer = confirm('" + msg + "');")
            s.Append("answer = confirm('" + msg + "');")
            s.Append("if (answer==true)")
            s.Append("form1.txtConfirm.value = 'TRUE';")
            s.Append("if (answer==false) ")
            s.Append("form1.txtConfirm.value = 'FALSE';}")
            s.Append("</script>")
            page.RegisterStartupScript("Confirm", s.ToString)
            Return s.ToString
        End Function
      

  2.   

    我用viewsource拿生成的代码:
    <input type="image" name="imgOK" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="imgOK" OnClick="getConfirm()" src="/latte/images/blue_button/ok.gif" alt="Register New User" border="0" style="height:20px;width:50px;" />&nbsp;有两个onclick方法
      

  3.   

    后台中 :
    imgOK.Attributes .Add ("onclick","return getConfirm()");        s.Append("<script language='javascript'>")
            s.Append("function getConfirm(){")
            s.Append("answer = confirm('" + msg + "');")
            s.Append("if (answer==true)")
            s.Append("form1.txtConfirm.value = 'TRUE';")
            s.Append("if (answer==false) ")
            s.Append("{")
            s.Append("form1.txtConfirm.value = 'FALSE';}")
            s.Append("return false;")
            s.Append("}")
            s.Append("</script>")
      

  4.   

    没那么复杂imgOK.Attributes.Add("OnClick", "javascript: getConfirm()")
      

  5.   

    javascript function:<script language='javascript'>
    function getConfirm()
    {answer = confirm('New user aaa will be created');
    answer = confirm('New user aaa will be created');
    if (answer==true)form1.txtConfirm.value = 'TRUE';
    if (answer==false) form1.txtConfirm.value = 'FALSE';}
    </script>
      

  6.   

    btut2004
    试了你的这个,这句也是写在page load 里对吗?还是不能弹出对话框。
    这是生成的代码,会不会因为我用了RequiredFieldValidator,多了一个onclick的原因?
    <input type="image" name="imgOK" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="imgOK" OnClick="javascript: getConfirm()" src="/latte/images/blue_button/ok.gif" alt="Register New User" border="0" style="height:20px;width:50px;" />
      

  7.   

    去掉RequiredFieldValidator可以弹出来了,可是第一个框弹出来的总是user 名称没有赋好值得,怎么赋值?好像一定要做好javascript 生成,也就是 ConfirmMsg1(Me, "New user " + txtUserID.Text + " will be created", txtConfirm)之后,一定要提交一次才可以,做好这个能做一次提交马?怎么做?