Freigeben über


ControlParameter.PropertyName Eigenschaft

Definition

Ruft den Eigenschaftennamen des Steuerelements ab, das durch die ControlID-Eigenschaft angegeben wird, an die das ControlParameter-Objekt gebunden wird, oder legt den Eigenschaftennamen fest.

public:
 property System::String ^ PropertyName { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.ControlPropertyNameConverter))]
public string PropertyName { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.ControlPropertyNameConverter))>]
member this.PropertyName : string with get, set
Public Property PropertyName As String

Eigenschaftswert

Ein string, der den Namen einer Steuerelementeigenschaft darstellt, an die ControlParameter gebunden wird.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein ControlParameter -Objekt verwendet wird, um in einem ListBox Steuerelement angezeigte Daten an den ausgewählten Wert eines DropDownList Steuerelements in einem deklarativen Szenario zu binden. Das DropDownList Steuerelement wird vom ListControl -Steuerelement abgeleitet. Das ControlParameter -Objekt wird der SelectParameters Auflistung des SqlDataSource Steuerelements im Formular hinzugefügt und entspricht dem Platzhaltertext "@Title" in der SelectCommand -Eigenschaft.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">Sales Representative</asp:listitem>
          <asp:listitem>Sales Manager</asp:listitem>
          <asp:listitem>Vice President, Sales</asp:listitem>
      </asp:dropdownlist></p>

      <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
          <selectparameters>
              <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
          </selectparameters>
      </asp:sqldatasource>

      <p><asp:listbox
          id="ListBox1"
          runat="server"
          datasourceid="SqlDataSource1"
          datatextfield="LastName">
      </asp:listbox></p>

    </form>
  </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">Sales Representative</asp:listitem>
          <asp:listitem>Sales Manager</asp:listitem>
          <asp:listitem>Vice President, Sales</asp:listitem>
      </asp:dropdownlist></p>

      <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
          <selectparameters>
              <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
          </selectparameters>
      </asp:sqldatasource>

      <p><asp:listbox
          id="ListBox1"
          runat="server"
          datasourceid="SqlDataSource1"
          datatextfield="LastName">
      </asp:listbox></p>

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

Im folgenden Codebeispiel wird veranschaulicht, wie die ControlID Eigenschaften und PropertyName festgelegt werden, um das Steuerelement zu identifizieren, an das ein ControlParameter Objekt gebunden ist. Im Beispiel wird ein ListBox Steuerelement mit Werten aufgefüllt. Die SelectedValue -Eigenschaft des ListBox -Steuerelements wird verwendet, um Daten zu filtern, die von einem SqlDataSource -Steuerelement abgerufen und von einem GridView -Steuerelement angezeigt werden.

<%@ 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">
private void Page_Load(object sender, System.EventArgs e)
{
  if (IsPostBack) {
    GridView1.DataBind();
  }
  else {
    ListBox1.Items.Add(new ListItem("Nancy Davolio",   "1",true));
    ListBox1.Items.Add(new ListItem("Janet Leverling", "3",true));
    ListBox1.Items.Add(new ListItem("Margaret Peacock","4",true));
    ListBox1.Items.Add(new ListItem("Michael Suyama",  "6",true));
    ListBox1.Items.Add(new ListItem("Robert King",     "7",true));
    ListBox1.Items.Add(new ListItem("Anne Dodsworth",  "9",true));
  }
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">
      <p>Show Orders For:</p>

      <p>
      <asp:ListBox
        id="ListBox1"
        runat="server"
        AutoPostBack="True">
      </asp:ListBox></p>

      <asp:SqlDataSource
        id="OdbcDataSource1"
        runat="server"
        ProviderName="System.Data.Odbc"
        DataSourceMode="DataSet"
        SelectCommand="SELECT OrderID, ShipName FROM Orders WHERE EmployeeID = ?;"
        ConnectionString="dsn=MyOdbcDSN;">
        <SELECTPARAMETERS>
          <asp:ControlParameter
            PropertyName="SelectedValue"
            ControlID="ListBox1"
            Name="empID">
          </asp:ControlParameter>
        </SELECTPARAMETERS>
      </asp:SqlDataSource>

      <p>
      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="OdbcDataSource1">
      </asp:GridView></p>
    </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">
Private Sub Page_Load(sender As Object, e As EventArgs)

    If (IsPostBack) Then
        GridView1.DataBind()
    Else
      Dim li As ListItem

      li = New ListItem("Nancy Davolio",   "1",True)
      ListBox1.Items.Add(li)

      li = New ListItem("Janet Leverling", "3",True)
      ListBox1.Items.Add(li)

      li = New ListItem("Margaret Peacock","4",True)
      ListBox1.Items.Add(li)

      li = New ListItem("Michael Suyama",  "6",True)
      ListBox1.Items.Add(li)

      li = New ListItem("Robert King",     "7",True)
      ListBox1.Items.Add(li)

      li = New ListItem("Anne Dodsworth",  "9",True)
      ListBox1.Items.Add(li)
    End If
End Sub ' Page_Load
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">
      <p>Show Orders For:</p>

      <p>
      <asp:ListBox
        id="ListBox1"
        runat="server"
        AutoPostBack="True">
      </asp:ListBox></p>

      <asp:SqlDataSource
        id="OdbcDataSource1"
        runat="server"
        ProviderName="System.Data.Odbc"
        DataSourceMode="DataSet"
        SelectCommand="SELECT OrderID, ShipName FROM Orders WHERE EmployeeID = ?;"
        ConnectionString="dsn=MyOdbcDSN;">
        <SELECTPARAMETERS>
          <asp:ControlParameter
            PropertyName="SelectedValue"
            ControlID="ListBox1"
            Name="empID">
          </asp:ControlParameter>
        </SELECTPARAMETERS>
      </asp:SqlDataSource>

      <p>
      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="OdbcDataSource1">
      </asp:GridView></p>
    </form>
  </body>
</html>

Hinweise

Die PropertyName -Eigenschaft identifiziert die öffentliche Eigenschaft des Objekts, das Control durch die ControlID -Eigenschaft identifiziert wird, an die das ControlParameter Objekt zur Laufzeit gebunden ist. PropertyName kann auf eine einfache Zeichenfolge, z. B. "SelectedValue", oder auf einen Ausdruck Eval mit Syntax festgelegt werden, um komplexe Steuerelementeigenschaften zu identifizieren.

Obwohl die PropertyName -Eigenschaft optional ist, werden in der Regel sowohl eigenschaften PropertyName als auch ControlID festgelegt, damit die Evaluate -Methode ordnungsgemäß an ein Steuerelement gebunden wird. Wenn Sie die ControlID -Eigenschaft, aber nicht die PropertyName -Eigenschaft festlegen, versucht die Evaluate -Methode, das ControlValuePropertyAttribute -Attribut zu verwenden, um eine Standardeigenschaft PropertyName zu identifizieren. (Es liegt in der Verantwortung von Steuerelementautoren, dieses Attribut anzugeben.) Wenn dies fehlschlägt, Evaluate löst eine Ausnahme aus ArgumentException .

In der folgenden Tabelle wird angegeben, welche ASP.NET-Steuerelemente Eigenschaften mit dem ControlValuePropertyAttribute -Attribut ergänzen.

Control Eigenschaft
Calendar SelectedDate
CheckBox Checked
DataList SelectedValue
DetailsView SelectedValue
FormView SelectedValue
GridView SelectedValue
Label Text
ListControl SelectedValue
Menu SelectedValue
TextBox Text
TreeView SelectedValue

Gilt für:

Weitere Informationen