Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

TemplateField.InsertItemTemplate-Eigenschaft

Aktualisiert: November 2007

Ruft die Vorlage ab, mit der ein Element im Einfügemodus in einem TemplateField-Objekt angezeigt wird, oder legt diese Vorlage fest.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

[TemplateContainerAttribute(typeof(IDataItemContainer), BindingDirection.TwoWay)]
[BrowsableAttribute(false)]
[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
public virtual ITemplate InsertItemTemplate { get; set; }
/** @property */
/** @attribute TemplateContainerAttribute(IDataItemContainer, BindingDirection.TwoWay) */
/** @attribute BrowsableAttribute(false) */
/** @attribute PersistenceModeAttribute(PersistenceMode.InnerProperty) */
public ITemplate get_InsertItemTemplate()
/** @property */
/** @attribute TemplateContainerAttribute(IDataItemContainer, BindingDirection.TwoWay) */
/** @attribute BrowsableAttribute(false) */
/** @attribute PersistenceModeAttribute(PersistenceMode.InnerProperty) */
public  void set_InsertItemTemplate(ITemplate value)

public function get InsertItemTemplate () : ITemplate
public function set InsertItemTemplate (value : ITemplate)

Eigenschaftenwert

Typ: System.Web.UI.ITemplate
Ein in System.Web.UI.ITemplate implementiertes Objekt, das die Vorlage zum Anzeigen eines Elements im Einfügemodus in TemplateField enthält. Der Standardwert ist null und gibt an, dass diese Eigenschaft nicht festgelegt ist.

Verwenden Sie die InsertItemTemplate-Eigenschaft, um den benutzerdefinierten Inhalt anzugeben, der für ein Element im Einfügemodus in einem TemplateField-Objekt angezeigt wird. Definieren Sie den Inhalt, indem Sie eine Vorlage erstellen, die angibt, wie das Element im Einfügemodus wiedergegeben wird.

Platzieren Sie zum Angeben einer Vorlage zunächst öffnende und schließende <InsertItemTemplate>-Tags zwischen den Anfangs- und Endtags des <TemplateField>-Elements. Anschließend fügen Sie den benutzerdefinierten Inhalt zwischen den Anfangs- und End-<InsertItemTemplate>-Tags hinzu. Bei dem Inhalt kann es sich um einfachen Text handeln, er kann aber auch in komplexerer Form vorliegen (beispielsweise, wenn weitere Steuerelemente in die Vorlage eingebettet werden).

Bestimmen Sie zunächst, welches TableCell-Objekt im datengebundenen Steuerelement das Steuerelement enthält, um programmgesteuert auf ein in einer Vorlage definiertes Steuerelement zuzugreifen. Greifen Sie anschließend über die Controls-Auflistung des TableCell-Objekts auf das Steuerelement zu. Sie können auch die FindControl-Methode des TableCell-Objekts zum Suchen des Steuerelements verwenden, wenn das Steuerelement über eine ID verfügt.

b4s8fdx8.alert_note(de-de,VS.90).gifHinweis:

Diese Vorlage wird nicht von allen datengebundenen Steuerelementen unterstützt, sondern nur von solchen, mit denen ein Datensatz eingefügt werden kann (z. B. das DetailsView-Steuerelement).

Im folgenden Codebeispiel wird veranschaulicht, wie mit der InsertItemTemplate-Eigenschaft eine benutzerdefinierte Vorlage für ein Element im Einfügemodus in einer TemplateField-Feldzeile eines DetailsView-Steuerelements erstellt wird. In der Vorlage wird ein DropDownList-Steuerelement angezeigt, mit dem der Benutzer einen Wert aus einer vordefinierten Liste auswählen kann.


<%@ 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">

  void StoresGridView_SelectedIndexChanged(Object sender, EventArgs e)
  {
    // Set the DataItemIndex property of the DetailsView control to display
    // the record selected from the GridView control.
   // StoresDetailView.DataItemIndex = StoresGridView.SelectedIndex;
  }

  void StoresDetailView_ItemInserting(Object sender, DetailsViewInsertEventArgs e)
  {
    // Get the state value from the DropDownList control in the 
    // DetailsView control.
    String state = GetState(); 

    // Add the state to the dictionary of values to 
    // insert into the database.
    e.Values["state"] = state;
  }

  void StoresDetailView_ItemInserted (Object sender, DetailsViewInsertedEventArgs e)
  {
    // Refresh the GridView control after a new record is inserted.
    StoresGridView.DataBind ();
  }

  String GetState()
  {
    String state;

    // Get the DropDownList control that contains the state value
    // in the DetailsView control.
    DropDownList list = (DropDownList)StoresDetailView.Rows[4].FindControl("StateList");

    if (list != null)
    {
      // Get the selected value of the DropDownList control.
      state = list.SelectedItem.Text;
    }
    else
    {
      // Set the state to an empty string ("").
      state = "";
    }

    return state;
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TemplateField InsertItemTemplate Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>TemplateField InsertItemTemplate Example</h3>

        <table cellspacing="10">

          <tr>

            <td>

              <asp:gridview id="StoresGridView" 
                datasourceid="StoresSqlDataSource" 
                autogeneratecolumns="false"
                autogenerateselectbutton="true"
                datakeynames="stor_id"
                onselectedindexchanged="StoresGridView_SelectedIndexChanged"   
                runat="server">

                <headerstyle backcolor="Blue"
                  forecolor="White"/>

                <columns>

                  <asp:boundfield datafield="stor_name"
                    headertext="Store Name"/>

                  <asp:boundfield datafield="stor_address"
                    headertext="Address"/>

                  <asp:boundfield datafield="city"
                    headertext="City"/>

                  <asp:boundfield datafield="state"
                    headertext="State"/>

                  <asp:boundfield datafield="zip"
                    headertext="ZIP Code"/>

                </columns>

              </asp:gridview>

            </td>

            <td valign="top">

              <asp:detailsview id="StoresDetailView"
                datasourceid="StoresDetailsSqlDataSource"
                autogenerateinsertbutton="true"
                autogeneraterows="false" 
                datakeynames="stor_id"        
                gridlines="Both"
                oniteminserting="StoresDetailView_ItemInserting"
                oniteminserted="StoresDetailView_ItemInserted"    
                runat="server">

                <headerStyle backcolor="Navy"
                  forecolor="White"/>
                  <Fields>               

                  <asp:boundfield datafield="stor_id"
                    headertext="Store ID"/>

                  <asp:boundfield datafield="stor_name"
                    headertext="Store Name"/>

                  <asp:boundfield datafield="stor_address"
                    headertext="Address"/>

                  <asp:boundfield datafield="city"
                    headertext="City"/>

                  <asp:templatefield headertext="State">
                    <itemtemplate>
                      <%#Eval("state")%>
                    </itemtemplate>
                    <insertitemtemplate>
                      <asp:dropdownlist id="StateList"
                        datasourceid="StateSqlDataSource"
                        datatextfield="state" 
                        runat="server"/>
                    </insertitemtemplate>
                  </asp:templatefield>

                  <asp:boundfield datafield="zip"
                    headertext="ZIP Code"/>

                </Fields>                    
              </asp:detailsview>

            </td>

          </tr>

        </table>

        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Pubs sample database.                        -->
        <asp:sqldatasource id="StoresSqlDataSource"  
          selectcommand="SELECT [stor_id], [stor_name], [stor_address], [city], [state], [zip] FROM [stores]" 
          connectionstring="server=localhost;database=pubs;integrated security=SSPI"
          runat="server">
        </asp:sqldatasource>

        <asp:sqldatasource id="StoresDetailsSqlDataSource"  
          selectcommand="SELECT [stor_id], [stor_name], [stor_address], [city], [state], [zip] FROM [stores]"
          insertcommand="INSERT INTO stores([stor_id], [stor_name], [stor_address], [city], [state], [zip]) VALUES (@stor_id, @stor_name, @stor_address, @city, @state, @zip)" 
          connectionstring="server=localhost;database=pubs;integrated security=SSPI"
          runat="server">
        </asp:sqldatasource>

        <!-- For this example, the states are retrieved from the  -->
        <!-- state field. For your application, you should use a  -->
        <!-- more complete source for the state values.           -->
        <asp:sqldatasource id="StateSqlDataSource"  
          selectcommand="SELECT Distinct [state] FROM [stores]"
          connectionstring="server=localhost;database=pubs;integrated security=SSPI"
          runat="server">
        </asp:sqldatasource>

      </form>
  </body>
</html>



Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0
Anzeigen: