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
Значение свойства
Имя шаблона поля, используемого для отрисовки поля данных. Значением по умолчанию является пустая строка (""), указывающая, что отрисовка шаблона поля будет основана на типе поля данных или на информации метаданных, применяемых к модели данных.
Примеры
См. пример кода во время выполнения этой функции: Run.
В следующем примере показано, как указать поле данных для отображения его содержимого с помощью другого шаблона поля. Во втором примере показан шаблон настраиваемого поля, указанный свойством 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 динамических данных.