Share via


DynamicControl.UIHint 속성

정의

데이터 필드를 렌더링하는 데 사용되는 필드 템플릿의 이름을 가져오거나 설정합니다.

public:
 virtual property System::String ^ UIHint { System::String ^ get(); void set(System::String ^ value); };
public virtual string UIHint { get; set; }
member this.UIHint : string with get, set
Public Overridable Property UIHint As String

속성 값

String

데이터 필드를 렌더링하는 데 사용되는 필드 템플릿의 이름입니다. 기본값은 데이터 필드 형식 또는 데이터 모델에 적용된 메타데이터 정보를 기준으로 렌더링되는 필드 템플릿을 나타내는 빈 문자열("")입니다.

예제

이 기능은 런타임에 코드 예제를 보려면: 실행합니다.

다음 예제에서는 다른 필드 템플릿을 사용 하 여 해당 내용을 렌더링 하는 데이터 필드를 지정 하는 방법을 보여 줍니다. 두 번째 예제에서 지정 된 사용자 지정 필드 템플릿을 보여 줍니다는 UIHint 속성입니다.

<%@ 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(Repeater1);
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicControl.UIHint Sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:Repeater ID="Repeater1" runat="server" DataSourceID="LinqDataSource1">
        <HeaderTemplate>
          <table border="1">
            <tr>
               <th>First Name</th>
               <th>Last Name</th>
               <th>Email</th>
            </tr>        
        </HeaderTemplate>
        <ItemTemplate>
          <tr>
            <td><asp:DynamicControl runat="server" DataField="FirstName" /></td>
            <td><asp:DynamicControl runat="server" DataField="LastName" /></td>
            <td><asp:DynamicControl runat="server" DataField="EmailAddress" UIHint="Email" /> </td>
          </tr>
        </ItemTemplate>
        <FooterTemplate>
          </table>
        </FooterTemplate>
      </asp:Repeater>

      <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext">
      </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(Repeater1)
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicControl.UIHint Sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:Repeater ID="Repeater1" runat="server" DataSourceID="LinqDataSource1">
        <HeaderTemplate>
          <table border="1">
            <tr>
               <th>First Name</th>
               <th>Last Name</th>
               <th>Email</th>
            </tr>        
        </HeaderTemplate>
        <ItemTemplate>
          <tr>
            <td><asp:DynamicControl runat="server" DataField="FirstName" /></td>
            <td><asp:DynamicControl runat="server" DataField="LastName" /></td>
            <td><asp:DynamicControl runat="server" DataField="EmailAddress" UIHint="Email" /> </td>
          </tr>
        </ItemTemplate>
        <FooterTemplate>
          </table>
        </FooterTemplate>
      </asp:Repeater>

      <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext">
      </asp:LinqDataSource>
    </div>
    </form>
</body>
</html>
<%@ Control Language="C#" ClassName="Email" Inherits="System.Web.DynamicData.FieldTemplateUserControl"%>

<script runat="server">
  protected string GetNavigateUrl()
  {
    if (!String.IsNullOrEmpty(FieldValueString))
    {
      return "mailto:" + FieldValueString;
    }

    return string.Empty;
  }
</script>

<asp:HyperLink ID="EmailAddressLink" runat="server"
    Text="<%# FieldValueString %>"
    NavigateUrl="<%# GetNavigateUrl() %>"  />
<%@ Control Language="VB" ClassName="Email" Inherits="System.Web.DynamicData.FieldTemplateUserControl"%>

<script runat="server">
    
    Protected Function GetNavigateUrl() As String

        If (Not String.IsNullOrEmpty(FieldValueString)) Then
            Return "mailto:" & FieldValueString
        End If
    
        Return String.Empty

    End Function
    
</script>

<asp:HyperLink ID="EmailAddressLink" runat="server"
    Text="<%# FieldValueString %>"
    NavigateUrl="<%# GetNavigateUrl() %>"  />

설명

사용 된 UIHint 데이터 필드에 대 한 UI를 표시 하기 위해 사용할 필드 템플릿을 지정 하는 속성입니다. 기본적으로 필드 템플릿에 사용자 정의 컨트롤 및 해당 이름 및 삽입 작업 편집 작업에 사용 되는 필드 템플릿을 식별 하는 접미사가 포함 합니다. 접미사는 각각 편집 (_e) 및 삽입 (_i) 합니다. 값을 설정 하면는 UIHint 접미사 없이 이름을 설정한 속성입니다. 동적 데이터를 평가 하 여 올바른 모드는 식별 된 Mode 속성 값 및 올바른 필드 템플릿을 렌더링 합니다.

경우는 UIHint 속성이 설정 되지 않은, 기본적으로 동적 데이터 필드 형식에 따라 템플릿을 렌더링 합니다. 자세한 내용은 ASP.NET 동적 데이터 스 캐 폴딩합니다.

사용 하 여 지정 된 필드 템플릿의 합니다 UIHint 속성이의이 인스턴스와 관련는 DynamicControl 컨트롤입니다. 필드 템플릿에 적용 하 여 전체 애플리케이션 데이터 필드에서 사용 하는 변경할 수도 있습니다는 UIHintAttribute 데이터 모델을 합니다. 설정 된 UIHint 속성 데이터 모델에 적용 된 메타 데이터를 재정의 합니다. 메타 데이터 특성에 대 한 자세한 내용은 참조 하세요. ASP.NET Dynamic Data합니다.

적용 대상

추가 정보