DynamicField 類別

定義

表示在使用 ASP.NET 動態資料功能的資料繫結控制項中顯示的資料欄位。

public ref class DynamicField : System::Web::UI::WebControls::DataControlField, System::Web::DynamicData::IFieldFormattingOptions, System::Web::UI::IAttributeAccessor
public class DynamicField : System.Web.UI.WebControls.DataControlField, System.Web.DynamicData.IFieldFormattingOptions, System.Web.UI.IAttributeAccessor
type DynamicField = class
    inherit DataControlField
    interface IAttributeAccessor
    interface IFieldFormattingOptions
Public Class DynamicField
Inherits DataControlField
Implements IAttributeAccessor, IFieldFormattingOptions
繼承
DynamicField
實作

範例

請參閱此功能的執行時間程式碼範例: 執行

下列範例示範如何使用 DynamicField 控制項中的 GridView 物件,從資料庫資料表顯示和編輯值。

<%@ Page Language="C#" %>

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

<script runat="server">
  protected void Page_Init(object sender, EventArgs e)
  {
    DynamicDataManager1.RegisterControl(CustomersGridView);
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicField Sample</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <form id="form1" runat="server">
    <div>
    
      <h2><%= CustomersDataSource.TableName%> Table</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" 
        HeaderText="List of validation errors"  />
      <asp:DynamicValidator runat="server" ID="DynamicValidator1"
        ControlToValidate="CustomersGridView" Display="None" />
        
      <asp:GridView ID="CustomersGridView" runat="server"
        AutoGenerateColumns="false"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        DataSourceID="CustomersDataSource"
        AllowPaging="true"
        AllowSorting="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="CustomerID" />
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>        
      </asp:GridView>

      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="CustomersDataSource" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext"
        EnableUpdate="true"
        EnableDelete="true" >
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>
<%@ Page Language="VB" %>

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

<script runat="server">
  
  Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)    
    DynamicDataManager1.RegisterControl(CustomersGridView)
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicField Sample</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <form id="form1" runat="server">
    <div>
    
      <h2><%= CustomersDataSource.TableName%> Table</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" 
        HeaderText="List of validation errors"  />
      <asp:DynamicValidator runat="server" ID="DynamicValidator1"
        ControlToValidate="CustomersGridView" Display="None" />
        
      <asp:GridView ID="CustomersGridView" runat="server"
        AutoGenerateColumns="false"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        DataSourceID="CustomersDataSource"
        AllowPaging="true"
        AllowSorting="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="CustomerID" />
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>        
      </asp:GridView>

      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="CustomersDataSource" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext"
        EnableUpdate="true"
        EnableDelete="true" >
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>

備註

本主題內容:

簡介

類別 DynamicField 是由 和 DetailsView 控制項等 GridView 資料繫結控制項使用,以顯示在自訂頁面中使用 ASP.NET 動態資料功能的域值。

類別 DynamicField 提供類似 BoundField 類別的功能。 不過,由於 DynamicField 物件用於動態資料應用程式中,因此您可以利用下列動態資料功能:

  • 根據資料類型,使用欄位範本自動轉譯欄位的適當控制項。 欄位範本可以全域修改整個應用程式。

  • 根據資料庫架構提供內建資料驗證。 您也可以自訂資料模型來新增驗證類型。

  • 使用資料模型中的屬性或使用 UIHint 屬性來自訂個別欄位的資料轉譯。

物件會 DynamicField 使用 控制項轉譯 DynamicControl 每個欄位。 若要指定要顯示在 物件中的資料 DynamicField 欄位,請將 DataField 屬性設定為功能變數名稱。 您可以藉由設定 DataFormatString 屬性,將自訂格式字串套用至域值。 根據預設,只有在資料繫結控制項處於唯讀模式時,才會將格式化字串套用至域值。 若要將格式化字串套用至資料繫結控制項處於編輯模式時所顯示的值,請將 ApplyFormatInEditMode 屬性設定為 true 。 如果域值為 null ,您可以藉由設定 NullDisplayText 屬性來顯示自訂標題。 物件 DynamicField 也可以藉由將 屬性 true 設定 ConvertEmptyStringToNull 為 ,自動將空字串 (「」「) 域值轉換成 Null 值。

宣告式語法

<asp:DynamicField
    AccessibleHeaderText="string"
    ApplyFormatInEditMode="true|false"
    ControlStyle-BackColor="color name|#dddddd"
    ControlStyle-BorderColor="color name|#dddddd"
    ControlStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    ControlStyle-BorderWidth="size"
    ControlStyle-CssClass="string"
    ControlStyle-Font-Bold="true|false"
    ControlStyle-Font-Italic="true|false"
    ControlStyle-Font-Names="string"
    ControlStyle-Font-Overline="true|false"
    ControlStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    ControlStyle-Font-Strikeout="true|false"
    ControlStyle-Font-Underline="true|false"
    ControlStyle-ForeColor="color name|#dddddd"
    ControlStyle-Height="size"
    ControlStyle-Width="size"
    ConvertEmptyStringToNull="true|false"
    DataField="string"
    DataFormatString="string"
    FooterStyle-BackColor="color name|#dddddd"
    FooterStyle-BorderColor="color name|#dddddd"
    FooterStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    FooterStyle-BorderWidth="size"
    FooterStyle-CssClass="string"
    FooterStyle-Font-Bold="true|false"
    FooterStyle-Font-Italic="true|false"
    FooterStyle-Font-Names="string"
    FooterStyle-Font-Overline="true|false"
    FooterStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    FooterStyle-Font-Strikeout="true|false"
    FooterStyle-Font-Underline="true|false"
    FooterStyle-ForeColor="color name|#dddddd"
    FooterStyle-Height="size"
    FooterStyle-Width="size"
    FooterStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    FooterStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    FooterStyle-Wrap="true|false"
    HeaderImageUrl="uri"
    HeaderStyle-BackColor="color name|#dddddd"
    HeaderStyle-BorderColor="color name|#dddddd"
    HeaderStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    HeaderStyle-BorderWidth="size"
    HeaderStyle-CssClass="string"
    HeaderStyle-Font-Bold="true|false"
    HeaderStyle-Font-Italic="true|false"
    HeaderStyle-Font-Names="string"
    HeaderStyle-Font-Overline="true|false"
    HeaderStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    HeaderStyle-Font-Strikeout="true|false"
    HeaderStyle-Font-Underline="true|false"
    HeaderStyle-ForeColor="color name|#dddddd"
    HeaderStyle-Height="size"
    HeaderStyle-Width="size"
    HeaderStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    HeaderStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    HeaderStyle-Wrap="true|false"
    HeaderText="string"
    InsertVisible="true|false"
    ItemStyle-BackColor="color name|#dddddd"
    ItemStyle-BorderColor="color name|#dddddd"
    ItemStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    ItemStyle-BorderWidth="size"
    ItemStyle-CssClass="string"
    ItemStyle-Font-Bold="true|false"
    ItemStyle-Font-Italic="true|false"
    ItemStyle-Font-Names="string"
    ItemStyle-Font-Overline="true|false"
    ItemStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    ItemStyle-Font-Strikeout="true|false"
    ItemStyle-Font-Underline="true|false"
    ItemStyle-ForeColor="color name|#dddddd"
    ItemStyle-Height="size"
    ItemStyle-Width="size"
    ItemStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    ItemStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    ItemStyle-Wrap="true|false"
    NullDisplayText="string"
    ReadOnly="true|false"
    ShowHeader="true|false"
    SortExpression="string"
    UIHint="string"
    ValidationGroup="string"
    Visible="true|false"
    />
<asp:DynamicField />

建構函式

DynamicField()

初始化 DynamicField 類別的新執行個體。

屬性

AccessibleHeaderText

取得或設定在部分控制項中呈現為 AbbreviatedText 屬性值的文字。

(繼承來源 DataControlField)
ApplyFormatInEditMode

取得或設定值,這個值表示資料欄位處於編輯模式時,DataFormatString 屬性指定的格式化字串是否套用至欄位值。

Column

取得與這個 MetaColumn 物件相關聯的 DynamicField 物件。

Control

取得與 DataControlField 物件關聯之資料控制項的參考。

(繼承來源 DataControlField)
ControlStyle

取得 DataControlField 物件內含之任何 Web 伺服器控制項的樣式。

(繼承來源 DataControlField)
ConvertEmptyStringToNull

取得或設定值,表示在資料來源中更新資料欄位時,是否將空字串值 ("") 自動轉換為 null 值。

DataField

取得或設定要繫結 DynamicField 物件的資料欄位名稱。

DataFormatString

取得或設定字串,這個字串指定資料欄位值的顯示格式。

DesignMode

取得值,指示目前是否在設計階段環境中檢視資料控制項欄位。

(繼承來源 DataControlField)
FooterStyle

取得或設定資料控制項欄位的頁尾樣式。

(繼承來源 DataControlField)
FooterText

取得或設定顯示在資料控制項欄位之頁尾項目中的文字。

(繼承來源 DataControlField)
HeaderImageUrl

取得或設定顯示在資料控制項欄位的標頭項目中之影像的 URL。

(繼承來源 DataControlField)
HeaderStyle

取得或設定資料控制項欄位的標頭樣式。

(繼承來源 DataControlField)
HeaderText

取得或設定資料繫結控制項 (其中含有 DynamicField 物件) 之標頭中顯示的文字。

HtmlEncode

取得或設定值,這個值表示資料欄位值在 DynamicField 物件中顯示之前是否進行 HTML 編碼。

InsertVisible

取得值,指示 DataControlField 物件在其父資料繫結控制項處於插入模式時是否可見。

(繼承來源 DataControlField)
IsTrackingViewState

取得值,指出 DataControlField 物件是否正在將變更儲存到它的檢視狀態。

(繼承來源 DataControlField)
ItemStyle

取得由資料控制項欄位顯示之任何文字基礎內容的樣式。

(繼承來源 DataControlField)
NullDisplayText

取得或設定資料欄位值為 null 時該欄位所顯示的標題。

ReadOnly

取得動態欄位的唯讀狀態。

ShowHeader

取得或設定值,指示是否呈現資料控制項欄位的標頭項目。

(繼承來源 DataControlField)
SortExpression

取得或設定資料欄位做為資料來源排序依據時使用的排序運算式。

UIHint

取得或設定要用於顯示資料欄位的欄位樣板。

ValidateRequestMode

取得或設定值,這個值會指定控制項是否驗證用戶端輸入。

ValidateRequestMode

取得或設定值,這個值會指定控制項是否驗證用戶端輸入。

(繼承來源 DataControlField)
ValidationGroup

取得與這個 ValidationGroup 物件相關聯的 DynamicField 物件。

ViewState

取得狀態資訊的字典,允許您在相同頁面的多個要求之間,儲存和還原 DataControlField 物件的檢視狀態。

(繼承來源 DataControlField)
Visible

取得或設定值,指示是否呈現資料控制項欄位。

(繼承來源 DataControlField)

方法

CloneField()

建立目前 DataControlField 衍生物件的複本。

(繼承來源 DataControlField)
ConfigureDynamicControl(DynamicControl)

提供機制以修改 DynamicControl 方法建立的 InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32) 物件。

CopyProperties(DataControlField)

將目前 DynamicField 物件的屬性複製到指定的 DataControlField 物件。

CreateDynamicControl()

提供機制,讓衍生自 DynamicField 的類別覆寫建立 DynamicControl 物件的方式。

CreateField()

建立並傳回 DynamicField 類別的新執行個體。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

從目前資料表儲存格擷取資料欄位的值,並將值加入指定的字典中。

GetAttribute(String)

擷取指定的屬性值。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
Initialize(Boolean, Control)

執行資料控制項欄位的基本執行個體初始化。

(繼承來源 DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

將文字或控制項加入指定的儲存格中。

LoadViewState(Object)

將資料來源檢視還原成之前所儲存的檢視狀態。

(繼承來源 DataControlField)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnFieldChanged()

引發 FieldChanged 事件。

(繼承來源 DataControlField)
SaveViewState()

儲存自頁面回傳至伺服器以來對 DataControlField 檢視狀態所做的變更。

(繼承來源 DataControlField)
SetAttribute(String, String)

設定與 DynamicField 物件相關聯的屬性。

ToString()

傳回字串,表示這個 DataControlField 物件。

(繼承來源 DataControlField)
TrackViewState()

會造成 DataControlField 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 屬性中,並持續存取相同頁面的其他要求。

(繼承來源 DataControlField)
ValidateSupportsCallback()

在衍生類別中覆寫時,表示欄位所包含的控制項支援回呼 (Callback)。

(繼承來源 DataControlField)

明確介面實作

IDataSourceViewSchemaAccessor.DataSourceViewSchema

取得或設定與此 DataControlField 物件相關聯的結構描述。

(繼承來源 DataControlField)
IStateManager.IsTrackingViewState

取得值,指出 DataControlField 物件是否正在將變更儲存到它的檢視狀態。

(繼承來源 DataControlField)
IStateManager.LoadViewState(Object)

將資料控制項欄位還原成先前儲存的檢視狀態。

(繼承來源 DataControlField)
IStateManager.SaveViewState()

儲存自頁面回傳至伺服器以來對 DataControlField 檢視狀態所做的變更。

(繼承來源 DataControlField)
IStateManager.TrackViewState()

會造成 DataControlField 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 屬性中,並持續存取相同頁面的其他要求。

(繼承來源 DataControlField)

擴充方法

ConvertEditedValue(IFieldFormattingOptions, String)

針對已驗證的控制項傳回使用者提供的值。

FormatEditValue(IFieldFormattingOptions, Object)

以指定的格式化選項來進行格式化指定的欄位值。

FormatValue(IFieldFormattingOptions, Object)

以指定的格式化選項來進行格式化指定的欄位值。

適用於

另請參閱