Freigeben über


DynamicControl.UIHint Eigenschaft

Definition

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.

Gilt für:

Weitere Informationen