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
Значение свойства
Имя шаблона поля, используемого для отрисовки поля данных. По умолчанию используется пустая строка (""), которая указывает, что шаблон поля будет отображаться на основе типа поля данных или сведений о метаданных, применяемых к модели данных.
Примеры
В следующем примере показано, как указать поле данных для отображения содержимого другого шаблона поля. Во втором примере показан шаблон настраиваемого поля, указанный свойством 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 Используйте свойство, чтобы указать шаблон поля для отображения пользовательского интерфейса для поля данных. Шаблоны полей по умолчанию — это пользовательские элементы управления, а их имена содержат суффикс для идентификации шаблонов полей, используемых для операций редактирования и операций вставки. Суффиксы _edit и _insert соответственно. При установке значения UIHint свойству необходимо задать имя без суффиксов. Динамические данные будут определять правильный режим, оценивая Mode значение свойства и отрисовав правильный шаблон поля.
UIHint Если свойство не задано, динамические данные по умолчанию отрисовывает шаблон поля на основе типа поля. Дополнительные сведения см. в разделе ASP.NET шаблон динамических данных.
Шаблон поля, указанный с помощью UIHint свойства, зависит от этого экземпляра DynamicControl элемента управления. Вы также можете изменить шаблон поля, используемый полем данных во всем приложении, применив его UIHintAttribute к модели данных. Задание свойства переопределяет метаданные UIHint , примененные к модели данных. Дополнительные сведения об атрибутах метаданных см. в ASP.NET динамических данных.