1

私はasp.netにかなり慣れていないので、私の人生では、関連するvbコードを呼び出すための送信ボタンを取得できないようです。誰かが私を正しい方向に向けることができますか? 私はほとんどすべてを取り除き、メッセージボックスを表示するだけにしましたが、エラーも警告も何も表示しませんでした。ここで何か助けていただければ幸いです。

Register.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>

register.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 でメッセージ ボックスを使用することはできません。

デモンストレーションの目的で、 clientside を登録できます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

ここには 2 つの問題があります。

1 つ目は、コンテンツ内でフォーム タグを使用してはならないということです。マスターページの一部として、このページには既にフォームがあり、ここで別のフォームを使用すると、適切なポストバックが作成されないことを意味します...ビューステートなどは正しく送信されないため、asp.net ランタイムは送信されません。クリック イベント ハンドラーを起動する方法がわからない。

2 つ目は、Web フォームで MsgBox() 関数が期待どおりに機能しない (実際にはまったく機能しない) ことです。asp.net でこの種のデバッグを行うには、ファイルにログを記録したり、ブレーク ポイントを設定したりするなど、別のことを行う必要があります。

于 2012-11-26T22:00:14.847 に答える