none
asp.net + vb.net,msgbox问题 RRS feed

  • 问题

  • asp中不能直接使用vb的msgbox函数,

    网上搜到很多用vbscript实现的,但是都不详细,

    比如

    <script  language="vbscript" type="text/vbscript">
    Dim ans
    ans=MsgBox(“您要访问清风小荷塘吗?”,vbYesNo+vbQuestion,”提示信息”)
    If ans=vbYes Then
    Window.Navigate “http://www.xxxx.net”
    Else
    Document.Write “欢迎光临本站点!”
    End If
    </script>

    像这段代码应该放在前台哪个地方?

    后台代码怎么写?(假设在一个button的click事件里)


    Work8862

    2017年10月13日 17:37

全部回复

  • 你好,

    像这段代码应该放在前台哪个地方?

    据我了解,在ASP.NET 中是不能使用MsgBox的。但是你可以通过以下代码达到类似的功能。

    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="VBWebForm.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type = "text/javascript">
            function Confirm() {
                var confirm_value = document.createElement("INPUT");
                confirm_value.type = "hidden";
                confirm_value.name = "confirm_value";
                if (confirm("Do you want to save data?")) {
                    confirm_value.value = "Yes";
                } else {
                    confirm_value.value = "No";
                }
                document.forms[0].appendChild(confirm_value);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
          <asp:Button ID="btnConfirm" runat="server"  Text="Raise Confirm" OnClientClick="Confirm()"/>
        </form>
    </body>
    </html>

    后台代码怎么写?(假设在一个button的click事件里)用后台代码的话,你可以参考下面的代码。

    Protected Sub OnConfirm(sender As Object, e As EventArgs)
            Dim confirmValue As String = Request.Form("confirm_value")
            If confirmValue = "Yes" Then
                ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "alert('You clicked YES!')", True)
            Else
                ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "alert('You clicked NO!')", True)
            End If
    End Sub

    2017年10月16日 8:12