ListControl クラス

すべてのリスト型コントロールに共通なプロパティ、メソッド、およびイベントを定義する抽象基本クラスの役割を果たします。

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

構文

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

解説

ListControl 抽象クラスのインスタンスは直接作成できません。その代わりに、共通の基本機能を提供するために、このクラスは CheckBoxListDropDownListListBoxRadioButtonList などの他のクラスによって継承されます。

ListControl クラスのプロパティを使用すると、リスト コントロールを作成するデータのソースを指定できます。DataSource プロパティを使用して、リスト コントロールに連結するデータ ソースを指定します。データ ソースに複数のテーブルが含まれる場合は、DataMember プロパティで使用するテーブルを指定します。DataTextField プロパティと DataValueField プロパティをそれぞれ個別に設定すると、リスト コントロール内の項目の ListItem.Text プロパティと ListItem.Value プロパティに、データ ソース内のフィールドを個別に連結できます。リスト コントロール内の各項目に表示されるテキストは、DataTextFormatString プロパティで書式設定します。

リスト コントロール内に表示されている項目はすべて、Items コレクションに格納されています。SelectedIndex プロパティを使用すると、リスト コントロール内の選択されている項目のインデックスをプログラムによって指定または確認できます。選択されている項目のプロパティにアクセスするには、SelectedItem を使用します。

ListControl クラスは SelectedIndexChanged イベントを提供します。このイベントは、リスト コントロール内の選択項目がサーバーへのポスト間で変更された場合に発生します。これにより、このイベントのカスタム ハンドラを作成できます。イベント処理の詳細については、「イベントの利用」を参照してください。

ListControl クラスは、その他のコントロールのテンプレート モードで派生したリスト型コントロールを使用できるように、IEditableTextControl インターフェイスを実装します。

使用例

ListBox コントロール内の項目を選択する方法を次のコード例に示します。項目がテキスト ボックスで見つかった場合は、項目が選択され、選択した項目の名前を示すメッセージが表示されます。項目が見つからなかった場合、項目は選択されず、項目が見つからなかったことを示すメッセージが表示されます。

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

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。既定では、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 runat="server">
    <title> ListControl SelectedValue Example </title>
<script runat="server">

      Sub Button_Click(sender As Object, e As EventArgs)

         ' Perform this operation in a try-catch block in case the item is not found.
         Try
   
            List.SelectedValue = ItemTextBox.Text
            MessageLabel.Text = "You selected " & List.SelectedValue + "."
        
         Catch ex As Exception
     
            List.SelectedValue = Nothing         
            MessageLabel.Text = "Item not found in ListBox control."
     
         End Try
             
      End Sub

   </script>

</head>

<body>

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

      <h3> ListControl SelectedValue Example </h3>
 
      <asp:ListBox ID="List"
           runat="server">

         <asp:ListItem>Item 1</asp:ListItem>
         <asp:ListItem>Item 2</asp:ListItem>
         <asp:ListItem>Item 3</asp:ListItem>
         <asp:ListItem>Item 4</asp:ListItem>

      </asp:ListBox>

      <hr />

      Enter the value of the item to select: <br />
      <asp:TextBox ID="ItemTextBox"
           MaxLength="6"
           Text="Item 1"
           runat="server"/>

      &nbsp;&nbsp;

      <asp:Button ID="SelectButton"
           Text="Select Item"
           OnClick="Button_Click"
           runat="server"/>

      <br /><br />

      <asp:Label ID="MessageLabel"
           runat="server"/>     

   </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 runat="server">
    <title> ListControl SelectedValue Example </title>
<script runat="server">

      void Button_Click(Object sender, EventArgs e)
      {

         // Perform this operation in a try-catch block in case the item is not found.
         try
         {
            List.SelectedValue = ItemTextBox.Text;
            MessageLabel.Text = "You selected " + List.SelectedValue + ".";
         }
         catch (Exception ex)
         {
            List.SelectedValue = null;
            MessageLabel.Text = "Item not found in ListBox control.";
         }
             
      }

   </script>

</head>

<body>

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

      <h3> ListControl SelectedValue Example </h3>
 
      <asp:ListBox ID="List"
           runat="server">

         <asp:ListItem>Item 1</asp:ListItem>
         <asp:ListItem>Item 2</asp:ListItem>
         <asp:ListItem>Item 3</asp:ListItem>
         <asp:ListItem>Item 4</asp:ListItem>

      </asp:ListBox>

      <hr />

      Enter the value of the item to select: <br />
      <asp:TextBox ID="ItemTextBox"
           MaxLength="6"
           Text="Item 1"
           runat="server"/>

      &nbsp;&nbsp;

      <asp:Button ID="SelectButton"
           Text="Select Item"
           OnClick="Button_Click"
           runat="server"/>

      <br /><br />

      <asp:Label ID="MessageLabel"
           runat="server"/>     

   </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.BaseDataBoundControl
         System.Web.UI.WebControls.DataBoundControl
          System.Web.UI.WebControls.ListControl
             System.Web.UI.WebControls.BulletedList
             System.Web.UI.WebControls.CheckBoxList
             System.Web.UI.WebControls.DropDownList
             System.Web.UI.WebControls.ListBox
             System.Web.UI.WebControls.RadioButtonList

スレッド セーフ

この型の 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

参照

関連項目

ListControl メンバ
System.Web.UI.WebControls 名前空間
CheckBoxList
DropDownList
ListBox
RadioButtonList
ListItem