TextBox クラス

ユーザー入力用のテキスト ボックス コントロールを表示します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
<ControlValuePropertyAttribute("Text")> _
<ValidationPropertyAttribute("Text")> _
Public Class TextBox
    Inherits WebControl
    Implements IPostBackDataHandler, IEditableTextControl, ITextControl
'使用
Dim instance As TextBox
[ControlValuePropertyAttribute("Text")] 
[ValidationPropertyAttribute("Text")] 
public class TextBox : WebControl, IPostBackDataHandler, IEditableTextControl, ITextControl
[ControlValuePropertyAttribute(L"Text")] 
[ValidationPropertyAttribute(L"Text")] 
public ref class TextBox : public WebControl, IPostBackDataHandler, IEditableTextControl, ITextControl
/** @attribute ControlValuePropertyAttribute("Text") */ 
/** @attribute ValidationPropertyAttribute("Text") */ 
public class TextBox extends WebControl implements IPostBackDataHandler, IEditableTextControl, 
    ITextControl
ControlValuePropertyAttribute("Text") 
ValidationPropertyAttribute("Text") 
public class TextBox extends WebControl implements IPostBackDataHandler, IEditableTextControl, 
    ITextControl
適用できません。

解説

TextBox サーバー コントロールは、ユーザーによるテキストの入力を受け付ける入力コントロールです。このコントロールの TextMode プロパティは、既定では TextBoxMode.SingleLine に設定されており、単一行テキスト ボックスが表示されます。ただし、TextBox コントロールを使用し、TextMode プロパティの値を変更することで、複数行テキスト ボックスや、ユーザー入力をマスクするテキスト ボックスを表示することもできます。複数行テキスト ボックスを表示する場合は、このプロパティの値を TextBoxMode.MultiLine に変更します。ユーザー入力をマスクするテキスト ボックスを表示する場合は、TextBoxMode.Password に変更します。TextBox コントロールに表示されるテキストは、Text プロパティを使用して指定または確認します。

TextBox コントロールには、コントロールの外観を制御するためのプロパティがいくつか格納されています。テキスト ボックスの表示幅 (文字数) は、Columns プロパティによって決まります。TextBox コントロールが複数行テキスト ボックスの場合、表示行数は Rows プロパティによって決まります。TextBox コントロール内のテキストを折り返して表示するには、Wrap プロパティを true に設定します。

また、TextBox コントロールへのデータの入力方法を指定するときに設定するプロパティもいくつかあります。コントロール内のテキストが変更されないようにするには、ReadOnly プロパティを true に設定します。ユーザーが入力できる文字数を指定して制限する必要がある場合は、MaxLength プロパティを設定します。

TextBox のインスタンスの初期プロパティ値の一覧については、TextBox コンストラクタのトピックを参照してください。

注意に関するメモ注意 :

このコントロールは、ユーザー入力を受け入れるために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検証してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力の検証」を参照してください。

ユーザー補助

このコントロールに既定でレンダリングされるマークアップは、Web Content Accessibility Guidelines (WCAG) 1.0 の優先度 1 ガイドラインなどのユーザー補助に関する標準に適合しない可能性があります。このコントロールのユーザー補助サポートの詳細については、「ASP.NET コントロールとユーザー補助」を参照してください。

トピック 場所
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル: Visual Web Developer でのカスケード スタイル シートのスタイルの操作 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Web フォーム ページにおけるユーザーの入力の検証 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Web Developer でのアプリケーションの作成
チュートリアル : Web フォーム ページにおけるユーザーの入力の検証 Visual Web Developer でのアプリケーションの作成
方法 : TextBox Web サーバー コントロールの値を取得および設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールでの変更に応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのプロパティを設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : パスワード入力のための TextBox Web サーバー コントロールを設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールにフォーカスを設定する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールに複数行入力を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールの値を取得および設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールでの変更に応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのプロパティを設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : パスワード入力のための TextBox Web サーバー コントロールを設定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールにフォーカスを設定する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールに複数行入力を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールの値を取得および設定する ASP .NET Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールでの変更に応答する ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのプロパティを設定する ASP .NET Web アプリケーションの作成
方法 : パスワード入力のための TextBox Web サーバー コントロールを設定する ASP .NET Web アプリケーションの作成
方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールにフォーカスを設定する ASP .NET Web アプリケーションの作成
方法 : TextBox Web サーバー コントロールに複数行入力を指定する ASP .NET Web アプリケーションの作成

使用例

TextBox コントロールを使用してユーザー入力を取得する方法を次のコード例に示します。ユーザーが [Add] ボタンをクリックすると、テキスト ボックスに入力された値の合計が表示されます。

セキュリティに関するメモセキュリティに関するメモ :

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。詳細については、「スクリプトによる攻略の概要」を参照してください。

<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > 

<head>
    <title> TextBox Example </title>
<script runat="server">

      Protected Sub AddButton_Click(sender As Object, e As EventArgs)

         Dim Answer As Integer

         Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

         AnswerMessage.Text = Answer.ToString()

      End Sub

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> TextBox Example </h3>
















































      <table>
         <tr>
            <td colspan="5">
               Enter integer values into the text boxes. <br />
               Click the Add button to add the two values. <br />
               Click the Reset button to reset the text boxes.
            </td>
         </tr>
         <tr>
            <td colspan="5">
               &nbsp;
            </td>
         </tr>
         <tr align="center">
            <td>
               <asp:TextBox ID="Value1"
                    Columns="2"
                    MaxLength="3"
                    Text="1"
                    runat="server"/>
            </td>
            <td>
               + 
            </td>
            <td>
               <asp:TextBox ID="Value2"
                    Columns="2"
                    MaxLength="3"
                    Text="1"
                    runat="server"/>
            </td>
            <td>
               =
            </td>
            <td>
               
               <asp:Label ID="AnswerMessage"
                    runat="server"/>
            </td>
         </tr>
         <tr>
            <td colspan="2">
               <asp:RequiredFieldValidator
                    ID="Value1RequiredValidator"
                    ControlToValidate="Value1"
                    ErrorMessage="Please enter a value.<br />"
                    Display="Dynamic"
                    runat="server"/>
               <asp:RangeValidator
                    ID="Value1RangeValidator"
                    ControlToValidate="Value1"
                    Type="Integer"
                    MinimumValue="1"
                    MaximumValue="100"
                    ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
                    Display="Dynamic"
                    runat="server"/>
            </td>
            <td colspan="2">
               <asp:RequiredFieldValidator
                    ID="Value2RequiredValidator"
                    ControlToValidate="Value2"
                    ErrorMessage="Please enter a value.<br />"
                    Display="Dynamic"
                    runat="server"/>
               <asp:RangeValidator
                    ID="Value2RangeValidator"
                    ControlToValidate="Value2"
                    Type="Integer"
                    MinimumValue="1"
                    MaximumValue="100"
                    ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
                    Display="Dynamic"
                    runat="server"/>
            </td>
            <td>
               &nbsp
 
            </td>
         </tr>
         <tr align="center">
            <td colspan="4">
               <asp:Button ID="AddButton"
                    Text="Add"
                    OnClick="AddButton_Click"
                    runat="server"/>
            </td>
            <td>
               &nbsp;
            </td>
         </tr>
      </table>


   </form>

</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > 

<head>
    <title> TextBox Example </title>
<script runat="server">

      protected void AddButton_Click(Object sender, EventArgs e)
      {
         int Answer;

         Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);

         AnswerMessage.Text = Answer.ToString();

      }

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> TextBox Example </h3>
















































      <table>
         <tr>
            <td colspan="5">
               Enter integer values into the text boxes. <br />
               Click the Add button to add the two values. <br />
               Click the Reset button to reset the text boxes.
            </td>
         </tr>
         <tr>
            <td colspan="5">
               &nbsp;
            </td>
         </tr>
         <tr align="center">
            <td>
               <asp:TextBox ID="Value1"
                    Columns="2"
                    MaxLength="3"
                    Text="1"
                    runat="server"/>
            </td>
            <td>
               + 
            </td>
            <td>
               <asp:TextBox ID="Value2"
                    Columns="2"
                    MaxLength="3"
                    Text="1"
                    runat="server"/>
            </td>
            <td>
               =
            </td>
            <td>
               
               <asp:Label ID="AnswerMessage"
                    runat="server"/>
            </td>
         </tr>
         <tr>
            <td colspan="2">
               <asp:RequiredFieldValidator
                    ID="Value1RequiredValidator"
                    ControlToValidate="Value1"
                    ErrorMessage="Please enter a value.<br />"
                    Display="Dynamic"
                    runat="server"/>
               <asp:RangeValidator
                    ID="Value1RangeValidator"
                    ControlToValidate="Value1"
                    Type="Integer"
                    MinimumValue="1"
                    MaximumValue="100"
                    ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
                    Display="Dynamic"
                    runat="server"/>
            </td>
            <td colspan="2">
               <asp:RequiredFieldValidator
                    ID="Value2RequiredValidator"
                    ControlToValidate="Value2"
                    ErrorMessage="Please enter a value.<br />"
                    Display="Dynamic"
                    runat="server"/>
               <asp:RangeValidator
                    ID="Value2RangeValidator"
                    ControlToValidate="Value2"
                    Type="Integer"
                    MinimumValue="1"
                    MaximumValue="100"
                    ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
                    Display="Dynamic"
                    runat="server"/>
            </td>
            <td>
               &nbsp
 
            </td>
         </tr>
         <tr align="center">
            <td colspan="4">
               <asp:Button ID="AddButton"
                    Text="Add"
                    OnClick="AddButton_Click"
                    runat="server"/>
            </td>
            <td>
               &nbsp;
            </td>
         </tr>
      </table>


   </form>

</body>
</html>

.NET Framework のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : LinkDemand; アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : InheritanceDemand; アクセス許可値 : Minimal

継承階層

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.TextBox

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

TextBox メンバ
System.Web.UI.WebControls 名前空間
TextMode
Text
Columns
Rows
Wrap
ReadOnly
MaxLength

その他の技術情報

TextBox Web サーバー コントロール
スクリプトによる攻略の概要