1

我对asp.net 很陌生,对于我的生活,我似乎无法获得提交按钮来调用相关的vb 代码。谁能指出我正确的方向?我几乎把所有东西都去掉了,只显示一个消息框,但什么也没有,没有错误,没有警告。非常感谢这里的任何帮助。

注册.aspx

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/anonymous/anonymous.Master" CodeBehind="register.aspx.vb" Inherits="mynamespace.register" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <form id="register" method="post">
    <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label>
    <asp:TextBox ID="email" runat="server" CssClass="textEntry"></asp:TextBox><br />

    <asp:Button ID="submit" runat="server" Text="Create Account"/>
    </form>         
</asp:Content>

注册.aspx.vb

Imports System.Web.Configuration
Imports System.Data.SqlClient

Public Class register
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Private Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click
        MsgBox("submit clicked!!", 65600, "New Message")
    End Sub

End Class
4

2 回答 2

2

在与 的行设置断点,MsgBox您会看到它被击中。您不能在 ASP.NET 中使用消息框,因为它将显示在服务器上而不是客户端上。

出于演示目的,您可以注册客户端alert

Private Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click
    ClientScript.RegisterStartupScript(this.GetType(), "msgBox", "alert('submit clicked! Now at the client again');", true);
End Sub
于 2012-11-26T21:58:25.987 回答
1

我在这里看到两个问题。

首先是你不应该在你的内容中使用表单标签。作为母版页的一部分,您的页面上已经有一个表单,在这里使用单独的表单意味着您没有创建正确的回发...诸如视图状态之类的内容未正确提交,因此 asp.net 运行时不会不知道触发点击事件处理程序。

第二个是 MsgBox() 函数在 web 表单中不会像你期望的那样工作(真的:根本不会工作)。对于asp.net中的这种调试,你需要做一些不同的事情,比如记录到一个文件或者设置一个断点。

于 2012-11-26T22:00:14.847 回答