ASP.NET ページロードイベント PostBack

      2016/12/17

まずはこちらのソースをお試しください。

ソース

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div></form>
</body>
</html>
Partial Class _Default
Inherits System.Web.UI.Page
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = "ようこそ" & TextBox1.Text & "さん"
End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
TextBox1.Text = "貴方の名前を教えてください"
End Sub
End Class
ページロードしてボタンを押下するとメッセージが表示されるはず。
残念ながら
ようこそ貴方の名前を教えてくださいさん
となりました。
ページロードをしてからボタンイベントが作動してます。
ページロードで入力した名前が貴方の名前を教えてくださいに代わってます。
つまりaspではボタンを押下したらページロードイベントが作動してます。
 
ソース
Partial Class _Default
Inherits System.Web.UI.Page
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
TextBox1.Text = "文字を入力してください。"
Exit Sub
End If
TextBox1.Text = "ようこそ" & TextBox1.Text & "さん"
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If IsPostBack = False Then
TextBox1.Text = "貴方の名前を教えてください"
End If
End Sub
End Class
ページ起動時に1回だけ行いたいときのおまじない。
If IsPostBack = False Then
TextBox1.Text = "貴方の名前を教えてください"
End If
PostBackの値が偽であったらですね。
初回起動時にPostされてBackされているはずありませんよね。
そういうことです。
 

PR



 - ASP.NET

Translate »