<script language="vb" runat="Server"> 
    sub page_load()
    if 123=123 then 
    Response.Write("<script language=javascript>alert('输入错误')<"&"/script>")
    Response.Redirect("text.aspx")
    end if
    end sub
</script>
我看好多人都说用
Response.Write("<script language=javascript>alert('输入错误')</script>")
但直接引用会出 “If”必须以匹配的“End If”结束 的告警
Response.Write("<script language=javascript>alert('输入错误')<"&"/script>")
像这样引用会不出提示直接刷新网页???

解决方案 »

  1.   

    你要理解,这些编码是在服务器端顺序执行的, alert一句只是输出到Response流去,还并没有直接输出到浏览器端执行,但服务器端看到你要Response.Redirect,就直接返回浏览器重新定向了,并不把输出上面的alert内容输出到浏览器你需要的是输出到浏览器,跳出提示框,然后改变当前窗口的URL sub page_load()
        if 123=123 then 
            Response.Write("<script language=javascript>alert('输入错误'); window.locaton.href='text.aspx';<" & "/script>")
        end if
        end sub至于后一个问题,我认为是ASP.NET Parser的问题
      

  2.   

    sorry
    Response.Write("<script language=javascript>alert('输入错误'); window.location.href='text.aspx';<" & "/script>")
      

  3.   

    老大的是正解!也可以如下分开写:Response.Write("<script language=javascript>alert('输入错误')<"&"/script>")
        
    Response.Write("<script language=javascript>window.location.href='text.aspx'<" & "/script>")
      

  4.   

    Sub Page_Load(Sender As Object, E As EventArgs)
        dim a as string
        dim b as string
        b="中国人"
        a="<script language='javascript'>alert('"  & b & "');<" & chr(47) & "script>"
        Response.Write(a)
    End sub
      

  5.   

    /// <summary>
    /// 服务器端弹出alert对话框,并且返回所需的地址
    /// </summary>
    /// <param name="str_Message"></param>
    /// <param name="page"></param>
    /// <param name="gourl"></param>
    public static void Alert(string str_Message,Page page,string gourl)
    {
    page.RegisterStartupScript("","<script>alert('"+str_Message+"');window.location.href='"+gourl+"';</script>");

    }直接调用就是 Class.Alert("输入错误",this.Page,"text.aspx")