DynamicControl.UIHint 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 필드를 렌더링하는 데 사용되는 필드 템플릿의 이름을 가져오거나 설정합니다.
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
속성 값
데이터 필드를 렌더링하는 데 사용되는 필드 템플릿의 이름입니다. 기본값은 데이터 필드 형식 또는 데이터 모델에 적용된 메타데이터 정보에 따라 필드 템플릿이 렌더링됨을 나타내는 빈 문자열("")입니다.
예제
다음 예제에서는 데이터 필드를 지정하여 다른 필드 템플릿을 사용하여 콘텐츠를 렌더링하는 방법을 보여 줍니다. 두 번째 예제에서는 속성에서 지정한 사용자 지정 필드 템플릿을 보여 냅니다 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를 표시하는 데 사용할 필드 템플릿을 지정합니다. 기본적으로 필드 템플릿은 사용자 컨트롤이며 해당 이름에는 편집 작업 및 삽입 작업에 사용되는 필드 템플릿을 식별하는 접미사가 포함되어 있습니다. 접미사는 각각 _edit _insert. 값을 UIHint 속성으로 설정하면 접미사 없이 이름을 설정합니다. 동적 데이터는 속성 값을 평가하여 올바른 모드를 Mode 식별하고 올바른 필드 템플릿을 렌더링합니다.
속성이 UIHint 설정되지 않은 경우 기본적으로 동적 데이터는 필드 형식에 따라 필드 템플릿을 렌더링합니다. 자세한 내용은 ASP.NET 동적 데이터 스캐폴딩을 참조하세요.
속성을 사용하여 UIHint 지정하는 필드 템플릿은 컨트롤의 이 인스턴스와 관련이 있습니다 DynamicControl . 데이터 모델에 적용하여 전체 애플리케이션에서 데이터 필드에 사용되는 필드 템플릿을 UIHintAttribute 변경할 수도 있습니다. 속성을 설정하면 UIHint 데이터 모델에 적용된 메타데이터가 재정의됩니다. 메타데이터 특성에 대한 자세한 내용은 ASP.NET Dynamic Data를 참조하세요.