DynamicControl.UIHint Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o nome do modelo de campo usado para renderizar o campo de dados.
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
Valor da propriedade
O nome do modelo de campo usado para renderizar o campo de dados. O padrão é uma cadeia de caracteres vazia (""), que indica que o modelo de campo será renderizado com base no tipo de campo de dados ou nas informações de metadados aplicadas ao modelo de dados.
Exemplos
O exemplo a seguir mostra como você pode especificar um campo de dados para usar um modelo de campo diferente para renderizar seu conteúdo. O segundo exemplo mostra o modelo de campo personalizado especificado pela UIHint propriedade.
<%@ 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() %>" />
Comentários
Use a UIHint propriedade para especificar o modelo de campo a ser usado para exibir a interface do usuário de um campo de dados. Modelos de campo por padrão são controles de usuário e seus nomes contêm um sufixo para identificar modelos de campo que são usados para operações de edição e operações de inserção. Os sufixos são _edit e _insert, respectivamente. Ao definir um valor para a UIHint propriedade, defina o nome sem os sufixos. Os Dados Dinâmicos identificarão o modo correto avaliando o valor da Mode propriedade e renderizarão o modelo de campo correto.
Se a UIHint propriedade não estiver definida, por padrão, os Dados Dinâmicos renderizarão o modelo de campo com base no tipo de campo. Para obter mais informações, consulte ASP.NET Estrutura de Dados Dinâmicos.
O modelo de campo que você especificar usando a UIHint propriedade é específico para essa instância do DynamicControl controle. Você também pode alterar o modelo de campo usado por um campo de dados em todo o aplicativo aplicando o UIHintAttribute modelo de dados. Definir a UIHint propriedade substitui os metadados aplicados ao modelo de dados. Para obter mais informações sobre atributos de metadados, consulte ASP.NET Dados Dinâmicos.