DynamicControl.UIHint Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen des Namens der Feldvorlage, die zum Rendern des Datenfelds verwendet wird.
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
Eigenschaftswert
Der Name der Feldvorlage, die zum Rendern des Datenfelds verwendet wird. Der Standardwert ist eine leere Zeichenfolge (""), die angibt, dass die Feldvorlage basierend auf dem Datentyp oder auf Metadateninformationen gerendert wird, die auf das Datenmodell angewendet werden.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein Datenfeld angeben können, um seine Inhalte mithilfe einer anderen Feldvorlage zu rendern. Das zweite Beispiel zeigt die benutzerdefinierte Feldvorlage, die von der UIHint Eigenschaft angegeben wird.
<%@ 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() %>" />
Hinweise
Verwenden Sie die UIHint Eigenschaft, um die Feldvorlage anzugeben, die zum Anzeigen der Benutzeroberfläche für ein Datenfeld verwendet werden soll. Feldvorlagen sind standardmäßig Benutzersteuerelemente und deren Namen enthalten ein Suffix, um Feldvorlagen zu identifizieren, die für Bearbeitungsvorgänge und Einfügevorgänge verwendet werden. Die Suffixe sind _edit bzw. _insert. Wenn Sie einen Wert auf die UIHint Eigenschaft festlegen, legen Sie den Namen ohne suffixe fest. Dynamische Daten identifizieren den richtigen Modus, indem der Mode Eigenschaftswert ausgewertet und die richtige Feldvorlage gerendert wird.
Wenn die UIHint Eigenschaft nicht festgelegt ist, rendert Dynamic Data standardmäßig die Feldvorlage basierend auf dem Feldtyp. Weitere Informationen finden Sie unter ASP.NET Dynamic Data Scaffolding.
Die Feldvorlage, die Sie mit der UIHint Eigenschaft angeben, ist spezifisch für diese Instanz des DynamicControl Steuerelements. Sie können auch die Feldvorlage ändern, die von einem Datenfeld in der gesamten Anwendung verwendet wird, indem Sie das UIHintAttribute Datenmodell anwenden. Durch Festlegen der UIHint Eigenschaft werden die auf das Datenmodell angewendeten Metadaten außer Kraft gesetzt. Weitere Informationen zu Metadatenattributen finden Sie unter ASP.NET Dynamische Daten.