DetailsView 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在表中显示来自数据源的单个记录的值,其中每个数据行表示一个记录字段。 DetailsView 控件可用于编辑、删除和插入记录。
public ref class DetailsView : System::Web::UI::WebControls::CompositeDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IDataItemContainer, System::Web::UI::IPostBackEventHandler, System::Web::UI::WebControls::ICallbackContainer, System::Web::UI::WebControls::IPostBackContainer
public ref class DetailsView : System::Web::UI::WebControls::CompositeDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IDataItemContainer, System::Web::UI::IPostBackEventHandler, System::Web::UI::WebControls::ICallbackContainer, System::Web::UI::WebControls::IDataBoundItemControl, System::Web::UI::WebControls::IFieldControl, System::Web::UI::WebControls::IPostBackContainer
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class DetailsView : System.Web.UI.WebControls.CompositeDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IDataItemContainer, System.Web.UI.IPostBackEventHandler, System.Web.UI.WebControls.ICallbackContainer, System.Web.UI.WebControls.IPostBackContainer
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class DetailsView : System.Web.UI.WebControls.CompositeDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IDataItemContainer, System.Web.UI.IPostBackEventHandler, System.Web.UI.WebControls.ICallbackContainer, System.Web.UI.WebControls.IDataBoundItemControl, System.Web.UI.WebControls.IFieldControl, System.Web.UI.WebControls.IPostBackContainer
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type DetailsView = class
inherit CompositeDataBoundControl
interface IDataItemContainer
interface INamingContainer
interface ICallbackContainer
interface ICallbackEventHandler
interface IPostBackEventHandler
interface IPostBackContainer
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type DetailsView = class
inherit CompositeDataBoundControl
interface IDataItemContainer
interface INamingContainer
interface ICallbackContainer
interface ICallbackEventHandler
interface IPostBackEventHandler
interface IPostBackContainer
interface IDataBoundItemControl
interface IDataBoundControl
interface IFieldControl
Public Class DetailsView
Inherits CompositeDataBoundControl
Implements ICallbackContainer, ICallbackEventHandler, IDataItemContainer, IPostBackContainer, IPostBackEventHandler
Public Class DetailsView
Inherits CompositeDataBoundControl
Implements ICallbackContainer, ICallbackEventHandler, IDataBoundItemControl, IDataItemContainer, IFieldControl, IPostBackContainer, IPostBackEventHandler
- 继承
- 属性
- 实现
示例
下面的代码示例演示如何使用 将 DetailsView 控件与 GridView 控件结合使用,以用于简单的大纲-详细信息方案。 它显示控件中 GridView 所选项的详细信息。
<%@ Page Language="C#" %>
<!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">
<div>
<table>
<tr>
<td>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" DataSourceID="Customers"
DataKeyNames="CustomerID">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="DetailsView1" runat="server"
AutoGenerateRows="True" DataKeyNames="CustomerID"
DataSourceID="Details" Height="50px" Width="301px">
</asp:DetailsView>
</td>
</tr>
</table>
<asp:SqlDataSource ID="Details" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="CustomerID"
PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM [Customers]">
</asp:SqlDataSource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" DataSourceID="Customers"
DataKeyNames="CustomerID">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="DetailsView1" runat="server"
AutoGenerateRows="True" DataKeyNames="CustomerID"
DataSourceID="Details" Height="50px" Width="301px">
</asp:DetailsView>
</td>
</tr>
</table>
<asp:SqlDataSource ID="Details" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="CustomerID"
PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM [Customers]">
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
下面的代码示例演示如何使用 DetailsView 控件添加、删除和编辑记录。
<%@ 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 CustomerDetail_ItemInserted(object sender,
DetailsViewInsertedEventArgs e)
{
// Refresh the GridView control after a new record is inserted
// in the DetailsView control.
CustomersView.DataBind();
}
void CustomerDetail_ItemInserting(object sender,
DetailsViewInsertEventArgs e)
{
// Iterate though the values entered by the user and HTML encode
// the values. This helps prevent malicious values from being
// stored in the data source.
for (int i = 0; i < e.Values.Count; i++)
{
if (e.Values[i] != null)
{
e.Values[i] = Server.HtmlEncode(e.Values[i].ToString());
}
}
}
void CustomerDetail_ItemUpdated(object sender,
DetailsViewUpdatedEventArgs e)
{
// Refresh the GridView control after a new record is updated
// in the DetailsView control.
CustomersView.DataBind();
}
void CustomerDetail_ItemUpdating(object sender,
DetailsViewUpdateEventArgs e)
{
// Iterate though the values entered by the user and HTML encode
// the values. This helps prevent malicious values from being
// stored in the data source.
for (int i = 0; i < e.NewValues.Count; i++)
{
if (e.NewValues[i] != null)
{
e.NewValues[i] = Server.HtmlEncode(e.NewValues[i].ToString());
}
}
}
void CustomerDetail_ItemDeleted(object sender,
DetailsViewDeletedEventArgs e)
{
// Refresh the GridView control after a new record is updated
// in the DetailsView control.
CustomersView.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
DetailsView Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>
DetailsView Example</h3>
<table cellspacing="10">
<tr>
<td>
<!-- Use a GridView control in combination with -->
<!-- a DetailsView control to display master-detail -->
<!-- information. When the user selects a store from -->
<!-- GridView control, the customers//s detailed -->
<!-- information is displayed in the DetailsView -->
<!-- control. -->
<asp:GridView ID="CustomersView" DataSourceID="Customers"
AutoGenerateColumns="False"
DataKeyNames="CustomerID" runat="server">
<HeaderStyle BackColor="Blue" ForeColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName"
HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName"
HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="CustomerDetail"
DataSourceID="Details" AutoGenerateRows="false"
AutoGenerateInsertButton="true"
AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"
EmptyDataText="No records."
DataKeyNames="CustomerID" GridLines="Both"
OnItemInserted="CustomerDetail_ItemInserted"
OnItemInserting="CustomerDetail_ItemInserting"
OnItemUpdated="CustomerDetail_ItemUpdated"
OnItemUpdating="CustomerDetail_ItemUpdating"
OnItemDeleted="CustomerDetail_ItemDeleted"
runat="server">
<HeaderStyle BackColor="Navy" ForeColor="White" />
<RowStyle BackColor="White" />
<AlternatingRowStyle BackColor="LightGray" />
<EditRowStyle BackColor="LightCyan" />
<Fields>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
<asp:BoundField DataField="Address" HeaderText="Address" />
<asp:BoundField DataField="City" HeaderText="City" />
<asp:BoundField DataField="Region" HeaderText="Region" />
<asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
<asp:BoundField DataField="Country" HeaderText="Country" />
<asp:BoundField DataField="Phone" HeaderText="Phone" />
<asp:BoundField DataField="Fax" HeaderText="Fax" />
</Fields>
</asp:DetailsView>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<!-- It is strongly recommended that each data-bound -->
<!-- control uses a separate data source control. -->
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID]
FROM [Customers]">
</asp:SqlDataSource>
<!-- Add a filter to the data source control for the -->
<!-- DetailsView control to display the details of the -->
<!-- store selected in the GridView control. -->
<asp:SqlDataSource ID="Details"
ConnectionString=
"<%$ ConnectionStrings:NorthwindConnectionString %>"
runat="server"
SelectCommand="SELECT * FROM [Customers]
WHERE ([CustomerID] = @CustomerID)"
DeleteCommand="DELETE FROM [Customers]
WHERE [CustomerID] = @CustomerID"
InsertCommand="INSERT INTO [Customers] ([CustomerID],
[CompanyName], [ContactName], [ContactTitle], [Address],
[City], [Region], [PostalCode], [Country], [Phone], [Fax])
VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle,
@Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax)"
UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
[ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
[Address] = @Address, [City] = @City, [Region] = @Region,
[PostalCode] = @PostalCode, [Country] = @Country,
[Phone] = @Phone, [Fax] = @Fax
WHERE [CustomerID] = @CustomerID">
<SelectParameters>
<asp:ControlParameter ControlID="CustomersView"
Name="CustomerID" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="CustomerID" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="CompanyName" Type="String" />
<asp:Parameter Name="ContactName" Type="String" />
<asp:Parameter Name="ContactTitle" Type="String" />
<asp:Parameter Name="Address" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="Region" Type="String" />
<asp:Parameter Name="PostalCode" Type="String" />
<asp:Parameter Name="Country" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Fax" Type="String" />
<asp:Parameter Name="CustomerID" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="CustomerID" Type="String" />
<asp:Parameter Name="CompanyName" Type="String" />
<asp:Parameter Name="ContactName" Type="String" />
<asp:Parameter Name="ContactTitle" Type="String" />
<asp:Parameter Name="Address" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="Region" Type="String" />
<asp:Parameter Name="PostalCode" Type="String" />
<asp:Parameter Name="Country" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Fax" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</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">
Sub CustomerDetail_ItemInserted(ByVal sender As Object, _
ByVal e As DetailsViewInsertedEventArgs)
' Refresh the GridView control after a new record is inserted in
' the DetailsView control.
CustomersView.DataBind()
End Sub
Sub CustomerDetail_ItemInserting(ByVal sender As Object, _
ByVal e As DetailsViewInsertEventArgs)
' Iterate though the values entered by the user and HTML encode
' the values. This helps prevent malicious values from being
' stored in the data source.
For i As Integer = 0 To e.Values.Count - 1
If e.Values(i) IsNot Nothing Then
e.Values(i) = Server.HtmlEncode(e.Values(i).ToString())
End If
Next
End Sub
Sub CustomerDetail_ItemUpdated(ByVal sender As Object, _
ByVal e As DetailsViewUpdatedEventArgs)
' Refresh the GridView control after a new record is updated
' in the DetailsView control.
CustomersView.DataBind()
End Sub
Sub CustomerDetail_ItemUpdating(ByVal sender As Object, _
ByVal e As DetailsViewUpdateEventArgs)
' Iterate though the values entered by the user and HTML encode
' the values. This helps prevent malicious values from being
' stored in the data source.
For i As Integer = 0 To e.NewValues.Count - 1
If e.NewValues(i) IsNot Nothing Then
e.NewValues(i) = Server.HtmlEncode(e.NewValues(i).ToString())
End If
Next
End Sub
Sub CustomerDetail_ItemDeleted(ByVal sender As Object, _
ByVal e As DetailsViewDeletedEventArgs)
' Refresh the GridView control after a new record is updated
' in the DetailsView control.
CustomersView.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView Example</h3>
<table cellspacing="10">
<tr>
<td>
<!-- Use a GridView control in combination with -->
<!-- a DetailsView control to display master-detail -->
<!-- information. When the user selects a store from -->
<!-- GridView control, the customers's detailed -->
<!-- information is displayed in the DetailsView -->
<!-- control. -->
<asp:GridView ID="CustomersView" DataSourceID="Customers"
AutoGenerateColumns="False"
DataKeyNames="CustomerID" runat="server">
<HeaderStyle BackColor="Blue" ForeColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName"
HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName"
HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="CustomerDetail" DataSourceID="Details"
AutoGenerateRows="false"
AutoGenerateInsertButton="true"
AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"
EmptyDataText="No records."
DataKeyNames="CustomerID" GridLines="Both"
OnItemInserted="CustomerDetail_ItemInserted"
OnItemInserting="CustomerDetail_ItemInserting"
OnItemUpdated="CustomerDetail_ItemUpdated"
OnItemUpdating="CustomerDetail_ItemUpdating"
OnItemDeleted="CustomerDetail_ItemDeleted"
runat="server">
<HeaderStyle BackColor="Navy" ForeColor="White" />
<RowStyle BackColor="White" />
<AlternatingRowStyle BackColor="LightGray" />
<EditRowStyle BackColor="LightCyan" />
<Fields>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
ReadOnly="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
<asp:BoundField DataField="Address" HeaderText="Address" />
<asp:BoundField DataField="City" HeaderText="City" />
<asp:BoundField DataField="Region" HeaderText="Region" />
<asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
<asp:BoundField DataField="Country" HeaderText="Country" />
<asp:BoundField DataField="Phone" HeaderText="Phone" />
<asp:BoundField DataField="Fax" HeaderText="Fax" />
</Fields>
</asp:DetailsView>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<!-- It is strongly recommended that each data-bound -->
<!-- control uses a separate data source control. -->
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID]
FROM [Customers]">
</asp:SqlDataSource>
<!-- Add a filter to the data source control for the -->
<!-- DetailsView control to display the details of the -->
<!-- store selected in the GridView control. -->
<asp:SqlDataSource ID="Details"
ConnectionString=
"<%$ ConnectionStrings:NorthwindConnectionString %>"
runat="server"
SelectCommand="SELECT * FROM [Customers]
WHERE ([CustomerID] = @CustomerID)"
DeleteCommand="DELETE FROM [Customers]
WHERE [CustomerID] = @CustomerID"
InsertCommand="INSERT INTO [Customers] ([CustomerID],
[CompanyName], [ContactName], [ContactTitle], [Address],
[City], [Region], [PostalCode], [Country], [Phone], [Fax])
VALUES (@CustomerID, @CompanyName, @ContactName,
@ContactTitle, @Address, @City, @Region, @PostalCode,
@Country, @Phone, @Fax)"
UpdateCommand="UPDATE [Customers] SET
[CompanyName] = @CompanyName,
[ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
[Address] = @Address, [City] = @City, [Region] = @Region,
[PostalCode] = @PostalCode, [Country] = @Country,
[Phone] = @Phone, [Fax] = @Fax
WHERE [CustomerID] = @CustomerID">
<SelectParameters>
<asp:ControlParameter ControlID="CustomersView"
Name="CustomerID" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="CustomerID" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="CompanyName" Type="String" />
<asp:Parameter Name="ContactName" Type="String" />
<asp:Parameter Name="ContactTitle" Type="String" />
<asp:Parameter Name="Address" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="Region" Type="String" />
<asp:Parameter Name="PostalCode" Type="String" />
<asp:Parameter Name="Country" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Fax" Type="String" />
<asp:Parameter Name="CustomerID" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="CustomerID" Type="String" />
<asp:Parameter Name="CompanyName" Type="String" />
<asp:Parameter Name="ContactName" Type="String" />
<asp:Parameter Name="ContactTitle" Type="String" />
<asp:Parameter Name="Address" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="Region" Type="String" />
<asp:Parameter Name="PostalCode" Type="String" />
<asp:Parameter Name="Country" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Fax" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
下面的代码示例演示如何以声明方式向 控件添加行字段 DetailsView 。
<%@ Page Language="C#" %>
<!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">
<table cellspacing="10">
<tr>
<td>
<!-- Use a GridView control in combination with -->
<!-- a DetailsView control to display master-detail -->
<!-- information. When the user selects a store from -->
<!-- GridView control, the store's detailed -->
<!-- information is displayed in the DetailsView -->
<!-- control. -->
<asp:GridView ID="GridView1" runat="server"
DataSourceID="Customers" AutoGenerateColumns="False"
DataKeyNames="CustomerID">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="DetailsView" runat="server"
DataSourceID="Details" AutoGenerateRows="false"
DataKeyNames="CustomerID" >
<HeaderStyle BackColor="Navy" ForeColor="White" />
<Fields>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
ReadOnly="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
<asp:BoundField DataField="City" HeaderText="City" />
<asp:BoundField DataField="Region" HeaderText="Region" />
<asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
<asp:BoundField DataField="Country" HeaderText="Country" />
</Fields>
</asp:DetailsView>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<!-- It is strongly recommended that each data-bound -->
<!-- control uses a separate data source control. -->
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM [Customers]">
</asp:SqlDataSource>
<!-- Add a filter to the data source control for the -->
<!-- DetailsView control to display the details of the -->
<!-- store selected in the GridView control. -->
<asp:SqlDataSource ID="Details" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="CustomerID"
PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<table cellspacing="10">
<tr>
<td>
<!-- Use a GridView control in combination with -->
<!-- a DetailsView control to display master-detail -->
<!-- information. When the user selects a store from -->
<!-- GridView control, the store's detailed -->
<!-- information is displayed in the DetailsView -->
<!-- control. -->
<asp:GridView ID="GridView1" runat="server"
DataSourceID="Customers" AutoGenerateColumns="False"
DataKeyNames="CustomerID">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DetailsView ID="DetailsView" runat="server"
DataSourceID="Details" AutoGenerateRows="false"
DataKeyNames="CustomerID" >
<HeaderStyle BackColor="Navy" ForeColor="White" />
<Fields>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
ReadOnly="True" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
<asp:BoundField DataField="City" HeaderText="City" />
<asp:BoundField DataField="Region" HeaderText="Region" />
<asp:BoundField DataField="PostalCode" HeaderText="PostalCode" />
<asp:BoundField DataField="Country" HeaderText="Country" />
</Fields>
</asp:DetailsView>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<!-- It is strongly recommended that each data-bound -->
<!-- control uses a separate data source control. -->
<asp:SqlDataSource ID="Customers" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM [Customers]">
</asp:SqlDataSource>
<!-- Add a filter to the data source control for the -->
<!-- DetailsView control to display the details of the -->
<!-- store selected in the GridView control. -->
<asp:SqlDataSource ID="Details" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="CustomerID"
PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
注解
本主题内容:
介绍
控件 DetailsView 用于显示表中数据源中的单个记录,其中记录的每个字段都显示在表中的一行中。 它可以与 GridView 控件结合使用,用于大纲-详细信息方案。 控件 DetailsView 支持以下功能:
绑定到数据源控件,例如 SqlDataSource。
内置插入功能。
内置的更新和删除功能。
内置分页功能。
以 DetailsView 编程方式访问对象模型,以动态设置属性、处理事件等。
通过主题和样式自定义的外观。
行字段
控件中的每个 DetailsView 数据行都是通过声明字段控件创建的。 不同的行字段类型确定控件中行的行为。 字段控件派生自 DataControlField。 下表列出了可以使用的不同行字段类型。
列字段类型 | 说明 |
---|---|
BoundField | 将数据源中字段的值显示为文本。 |
ButtonField | 在 控件中 DetailsView 显示命令按钮。 这允许你显示具有自定义按钮控件的行,例如“添加或删除”按钮。 |
CheckBoxField | 在 控件中 DetailsView 显示一个复选框。 此行字段类型通常用于显示具有布尔值的字段。 |
CommandField | 显示用于在控件中执行编辑、插入或删除操作的 DetailsView 内置命令按钮。 |
HyperLinkField | 将数据源中字段的值显示为超链接。 此行字段类型允许您将第二个字段绑定到超链接的 URL。 |
ImageField | 在 控件中 DetailsView 显示图像。 |
TemplateField | 根据指定的模板显示控件中 DetailsView 某一行的用户定义内容。 此行字段类型允许您创建自定义行字段。 |
默认情况下, AutoGenerateRows 属性设置为 true
,这将为数据源中可绑定类型的每个字段自动生成绑定行字段对象。 有效的可绑定类型包括 String、DateTime、DecimalGuid、 和基元类型集。 然后,每个字段将按每个字段在数据源中的显示顺序以文本的形式显示在一行中。
自动生成行提供了一种快速而简单的方法来显示记录中的每个字段。 但是,若要利用 DetailsView 控件的高级功能,必须显式声明要包含在控件中的 DetailsView 行字段。 若要声明行字段,请先将 AutoGenerateRows 属性设置为 false
。 接下来,在控件的开始标记和结束 <Fields>
标记之间添加开始标记和结束标记 DetailsView 。 最后,列出要在开始标记和结束 <Fields>
标记之间包括的行字段。 指定的行字段将按列出的顺序添加到 Fields 集合中。 集合 Fields 允许以编程方式管理 控件中的 DetailsView 行字段。
注意
自动生成的行字段不会添加到集合中 Fields 。
注意
显式声明的行字段可以与自动生成的行字段组合显示。 使用这两个字段时,首先呈现显式声明的行字段,然后呈现自动生成的行字段。
绑定到数据
控件 DetailsView 可以绑定到数据源控件 ((例如 SqlDataSource 控件或 ObjectDataSource 控件) )或实现 System.Collections.IEnumerable 接口的任何数据源集合,例如 System.Data.DataView、 System.Collections.ArrayList、 System.Collections.Generic.List<T>或其他集合类型。 使用以下方法之一将 DetailsView 控件绑定到相应的数据源类型:
若要绑定到数据源控件,请将 控件的 DetailsView 属性设置为DataSourceIDID数据源控件的值。 控件 DetailsView 自动绑定到指定的数据源控件。 这是绑定到数据的首选方法。
若要绑定到实现 接口的System.Collections.IEnumerable数据源,请以编程方式将 DetailsView 控件的 属性设置为DataSource数据源,然后调用 DataBind 方法。
有关数据绑定的详细信息,请参阅 绑定到数据库。
安全性
此控件可用于显示用户输入,其中可能包括恶意客户端脚本。 在应用程序中显示之前,请检查从客户端发送的任何信息,以获取可执行脚本、SQL 语句或其他代码。 ASP.NET 提供了输入请求验证功能,用于阻止用户输入中的脚本和 HTML。 有关详细信息,请参阅脚本侵入概述。 还提供了验证服务器控件来评估用户输入。 有关详细信息,请参阅 验证服务器控件语法。
数据操作
控件 DetailsView 提供内置功能,允许用户更新、删除、插入和翻页控件中的项。 当控件 DetailsView 绑定到数据源控件时,该 DetailsView 控件可以利用数据源控件的功能并提供自动更新、删除、插入和分页功能。
注意
控件 DetailsView 可为其他类型的数据源的更新、删除、插入和分页操作提供支持;但是,必须在适当的事件处理程序中为这些操作提供实现。 有关详细信息,请参阅ItemDeleting、ItemInserting和ItemUpdating。
通过将 、 或 属性true
分别设置为 AutoGenerateEditButton,控件DetailsView可以自动添加CommandField具有“编辑”、“删除”或“新建”按钮的行AutoGenerateInsertButton字段。 AutoGenerateDeleteButton 与) 立即删除所选记录的“删除”按钮 (不同,单击“编辑”或“新建”按钮时, DetailsView 控件将分别进入编辑或插入模式。 在编辑模式下,“编辑”按钮将替换为“更新”和“取消”按钮。 适用于字段的数据类型 ((如 TextBox 或 CheckBox 控件) )的输入控件会显示一个字段的值供用户修改。 单击“更新”按钮可更新数据源中的记录,同时单击“取消”按钮将放弃任何更改。 同样,在插入模式下,“新建”按钮将替换为“插入”和“取消”按钮,并显示空输入控件,以便用户输入新记录的值。
注意
还可以在 、 CommandField或TemplateField行字段中手动定义更新、删除和插入命令按钮ButtonField。 控件 DetailsView 识别属性设置为“编辑”、“更新”、“删除”、“新建”、“插入”或“取消”的按钮 CommandName ;但是,你仍必须自己提供该功能。 有关详细信息,请参阅ItemDeleting、ItemInserting和ItemUpdating。
控件 DetailsView 提供分页功能,允许用户导航到数据源中的其他记录。 启用后,页面导航控件将显示在页导航行中。 若要启用分页,请将 属性 AllowPaging 设置为 true
。 可以使用 和 PagerSettings 属性自定义PagerStyle寻呼行。
自定义用户界面
可以通过为控件的不同部分设置样式属性来自定义控件的外观 DetailsView 。 下表列出了可以设置的样式属性。
Style 属性 | 说明 |
---|---|
AlternatingRowStyle | 控件中交替数据行的 DetailsView 样式设置。 设置此属性后,数据行以带状显示,在设置和AlternatingRowStyle设置之间RowStyle交替显示。 |
CommandRowStyle | 包含内置命令按钮的行的样式设置。 |
EditRowStyle | 控件处于编辑模式时数据行的 DetailsView 样式设置。 |
EmptyDataRowStyle | 当数据源不包含任何记录时,控件中显示的 DetailsView 空数据行的样式设置。 |
FooterStyle | 页脚行的样式设置。 |
HeaderStyle | 标题行的样式设置。 |
InsertRowStyle | 控件处于插入模式时数据行的 DetailsView 样式设置。 |
PagerStyle | 寻呼行的样式设置。 |
RowStyle | 控件中数据行的 DetailsView 样式设置。 AlternatingRowStyle同时设置 属性时,数据行在设置和AlternatingRowStyle设置之间RowStyle交替显示。 |
FieldHeaderStyle | 标题列的样式设置。 |
事件
控件 DetailsView 提供可对其编程的多个事件。 这样,只要发生事件,就可以运行自定义例程。 下表列出了 控件支持 DetailsView 的事件。 控件DetailsView还从其基类继承这些事件:DataBinding、、DataBound、Disposed、InitLoad、 PreRender和 Render。
事件 | 说明 |
---|---|
ItemCommand | 在 DetailsView 控件中单击某个按钮时发生。 |
ItemCreated | 在 控件中创建DetailsView所有DetailsViewRow对象后发生。 此事件通常用于在显示记录之前修改记录的值。 |
ItemDeleted | 在单击“删除”按钮时,但在控件从数据源中删除记录之后 DetailsView 发生。 此事件通常用于检查删除操作的结果。 |
ItemDeleting | 在单击“删除”按钮时,但在控件从数据源中删除记录之前 DetailsView 发生。 此事件通常用于取消删除操作。 |
ItemInserted | 在单击“插入”按钮时,但在控件插入记录之后 DetailsView 发生。 此事件通常用于检查插入操作的结果。 |
ItemInserting | 在单击“插入”按钮时,但在控件插入记录之前 DetailsView 发生。 此事件通常用于取消插入操作。 |
ItemUpdated | 在单击“更新”按钮时,但在控件更新行之后 DetailsView 发生。 此事件通常用于检查更新操作的结果。 |
ItemUpdating | 在单击“更新”按钮时,但在控件更新记录之前 DetailsView 发生。 此事件通常用于取消更新操作。 |
ModeChanged | 在 DetailsView 控件更改模式后发生, (编辑、插入或只读模式) 。 此事件通常用于在控件更改模式时 DetailsView 执行任务。 |
ModeChanging | 在 DetailsView 控件更改模式 (编辑、插入或只读模式) 之前发生。 此事件通常用于取消模式更改。 |
PageIndexChanged | 在单击某一页导航按钮时,但在 DetailsView 控件处理分页操作之后发生。 当用户导航到控件中的其他记录后需要执行任务时,通常使用此事件。 |
PageIndexChanging | 在单击某一页导航按钮时,但在 DetailsView 控件处理分页操作之前发生。 此事件通常用于取消分页操作。 |
可访问性
有关如何配置此控件以便生成符合辅助功能标准的标记的信息,请参阅 Visual Studio 中的辅助功能和 ASP.NET 和 ASP.NET 控件和辅助功能。
声明性语法
<asp:DetailsView
AccessKey="string"
AllowPaging="True|False"
AutoGenerateDeleteButton="True|False"
AutoGenerateEditButton="True|False"
AutoGenerateInsertButton="True|False"
AutoGenerateRows="True|False"
BackColor="color name|#dddddd"
BackImageUrl="uri"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
Caption="string"
CaptionAlign="NotSet|Top|Bottom|Left|Right"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataKeyNames="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
DefaultMode="ReadOnly|Edit|Insert"
EmptyDataText="string"
Enabled="True|False"
EnablePagingCallbacks="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
FooterText="string"
ForeColor="color name|#dddddd"
GridLines="None|Horizontal|Vertical|Both"
HeaderText="string"
Height="size"
HorizontalAlign="NotSet|Left|Center|Right|Justify"
ID="string"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnItemCommand="ItemCommand event handler"
OnItemCreated="ItemCreated event handler"
OnItemDeleted="ItemDeleted event handler"
OnItemDeleting="ItemDeleting event handler"
OnItemInserted="ItemInserted event handler"
OnItemInserting="ItemInserting event handler"
OnItemUpdated="ItemUpdated event handler"
OnItemUpdating="ItemUpdating event handler"
OnLoad="Load event handler"
OnModeChanged="ModeChanged event handler"
OnModeChanging="ModeChanging event handler"
OnPageIndexChanged="PageIndexChanged event handler"
OnPageIndexChanging="PageIndexChanging event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
PageIndex="integer"
PagerSettings-FirstPageImageUrl="uri"
PagerSettings-FirstPageText="string"
PagerSettings-LastPageImageUrl="uri"
PagerSettings-LastPageText="string"
PagerSettings-Mode="NextPrevious|Numeric|NextPreviousFirstLast|NumericFirstLast"
PagerSettings-NextPageImageUrl="uri"
PagerSettings-NextPageText="string"
PagerSettings-PageButtonCount="integer"
PagerSettings-Position="Bottom|Top|TopAndBottom"
PagerSettings-PreviousPageImageUrl="uri"
PagerSettings-PreviousPageText="string"
PagerSettings-Visible="True|False"
runat="server"
SkinID="string"
Style="string"
TabIndex="integer"
ToolTip="string"
Visible="True|False"
Width="size"
>
<AlternatingRowStyle />
<CommandRowStyle />
<EditRowStyle />
<EmptyDataRowStyle />
<EmptyDataTemplate>
<!-- child controls -->
</EmptyDataTemplate>
<FieldHeaderStyle />
<Fields>
<asp:BoundField
AccessibleHeaderText="string"
ApplyFormatInEditMode="True|False"
ConvertEmptyStringToNull="True|False"
DataField="string"
DataFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
HtmlEncode="True|False"
InsertVisible="True|False"
NullDisplayText="string"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:BoundField>
<asp:ButtonField
AccessibleHeaderText="string"
ButtonType="Button|Image|Link"
CausesValidation="True|False"
CommandName="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
ImageUrl="uri"
InsertVisible="True|False"
ShowHeader="True|False"
SortExpression="string"
Text="string"
ValidationGroup="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:ButtonField>
<asp:CheckBoxField
AccessibleHeaderText="string"
DataField="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Text="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:CheckBoxField>
<asp:CommandField
AccessibleHeaderText="string"
ButtonType="Button|Image|Link"
CancelImageUrl="uri"
CancelText="string"
CausesValidation="True|False"
DeleteImageUrl="uri"
DeleteText="string"
EditImageUrl="uri"
EditText="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertImageUrl="uri"
InsertText="string"
InsertVisible="True|False"
NewImageUrl="uri"
NewText="string"
SelectImageUrl="uri"
SelectText="string"
ShowCancelButton="True|False"
ShowDeleteButton="True|False"
ShowEditButton="True|False"
ShowHeader="True|False"
ShowInsertButton="True|False"
ShowSelectButton="True|False"
SortExpression="string"
UpdateImageUrl="uri"
UpdateText="string"
ValidationGroup="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:CommandField>
<asp:DynamicField
AccessibleHeaderText="string"
ApplyFormatInEditMode="True|False"
ConvertEmptyStringToNull="True|False"
DataField="string"
DataFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
HtmlEncode="True|False"
InsertVisible="True|False"
NullDisplayText="string"
ShowHeader="True|False"
UIHint="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:DynamicField>
<asp:HyperLinkField
AccessibleHeaderText="string"
DataNavigateUrlFields="string"
DataNavigateUrlFormatString="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
NavigateUrl="uri"
ShowHeader="True|False"
SortExpression="string"
Target="string|_blank|_parent|_search|_self|_top"
Text="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:HyperLinkField>
<asp:ImageField
AccessibleHeaderText="string"
AlternateText="string"
ConvertEmptyStringToNull="True|False"
DataAlternateTextField="string"
DataAlternateTextFormatString="string"
DataImageUrlField="string"
DataImageUrlFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
NullDisplayText="string"
NullImageUrl="uri"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:ImageField>
<asp:TemplateField
AccessibleHeaderText="string"
ConvertEmptyStringToNull="True|False"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
<AlternatingItemTemplate>
<!-- child controls -->
</AlternatingItemTemplate>
<EditItemTemplate>
<!-- child controls -->
</EditItemTemplate>
<FooterTemplate>
<!-- child controls -->
</FooterTemplate>
<HeaderTemplate>
<!-- child controls -->
</HeaderTemplate>
<InsertItemTemplate>
<!-- child controls -->
</InsertItemTemplate>
<ItemTemplate>
<!-- child controls -->
</ItemTemplate>
</asp:TemplateField>
</Fields>
<FooterStyle />
<FooterTemplate>
<!-- child controls -->
</FooterTemplate>
<HeaderStyle />
<HeaderTemplate>
<!-- child controls -->
</HeaderTemplate>
<InsertRowStyle />
<PagerSettings
FirstPageImageUrl="uri"
FirstPageText="string"
LastPageImageUrl="uri"
LastPageText="string"
Mode="NextPrevious|Numeric|NextPreviousFirstLast|
NumericFirstLast"
NextPageImageUrl="uri"
NextPageText="string"
OnPropertyChanged="PropertyChanged event handler"
PageButtonCount="integer"
Position="Bottom|Top|TopAndBottom"
PreviousPageImageUrl="uri"
PreviousPageText="string"
Visible="True|False"
/>
<PagerStyle />
<PagerTemplate>
<!-- child controls -->
</PagerTemplate>
<RowStyle />
</asp:DetailsView>
构造函数
DetailsView() |
初始化 DetailsView 类的新实例。 |
属性
AccessKey |
获取或设置使您得以快速导航到 Web 服务器控件的访问键。 (继承自 WebControl) |
Adapter |
获取控件的浏览器特定适配器。 (继承自 Control) |
AllowPaging |
获取或设置一个值,该值指示是否启用分页功能。 |
AlternatingRowStyle |
获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的交替数据行的外观。 |
AppRelativeTemplateSourceDirectory |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 (继承自 Control) |
Attributes |
获取与控件的特性不对应的任意特性(只用于呈现)的集合。 (继承自 WebControl) |
AutoGenerateDeleteButton |
获取或设置一个值,该值指示用来删除当前记录的内置控件是否在 DetailsView 控件中显示。 |
AutoGenerateEditButton |
获取或设置一个值,该值指示用来编辑当前记录的内置控件是否在 DetailsView 控件中显示。 |
AutoGenerateInsertButton |
获取或设置一个值,该值指示用来插入新记录的内置控件是否在 DetailsView 控件中显示。 |
AutoGenerateRows |
获取或设置一个值,该值指示对应于数据源中每个字段的行字段是否自动生成并在 DetailsView 控件中显示。 |
BackColor |
获取或设置 Web 服务器控件的背景色。 (继承自 WebControl) |
BackImageUrl |
获取或设置要在 DetailsView 控件的背景中显示的图像的 URL。 |
BindingContainer |
获取包含该控件的数据绑定的控件。 (继承自 Control) |
BorderColor |
获取或设置 Web 控件的边框颜色。 (继承自 WebControl) |
BorderStyle |
获取或设置 Web 服务器控件的边框样式。 (继承自 WebControl) |
BorderWidth |
获取或设置 Web 服务器控件的边框宽度。 (继承自 WebControl) |
BottomPagerRow |
获取一个 DetailsViewRow 对象,该对象表示 DetailsView 控件中的底部页导航行。 |
Caption |
获取或设置要在 DetailsView 控件的 HTML 标题元素中呈现的文本。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
CaptionAlign |
获取或设置 DetailsView 控件中的 HTML 标题元素的水平或垂直位置。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
CellPadding |
获取或设置单元格的内容和单元格的边框之间的空间量。 |
CellSpacing |
获取或设置单元格间的空间量。 |
ChildControlsCreated |
获取一个值,该值指示是否已创建服务器控件的子控件。 (继承自 Control) |
ClientID |
获取由 ASP.NET 生成的 HTML 标记的控件 ID。 (继承自 Control) |
ClientIDMode |
获取或设置用于生成 ClientID 属性值的算法。 (继承自 Control) |
ClientIDSeparator |
获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。 (继承自 Control) |
CommandRowStyle |
获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的命令行的外观。 |
Context |
为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。 (继承自 Control) |
Controls |
获取复合数据绑定控件内的子控件的集合。 (继承自 CompositeDataBoundControl) |
ControlStyle |
获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
ControlStyleCreated |
获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
CssClass |
获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。 (继承自 WebControl) |
CurrentMode |
获取 DetailsView 控件的当前数据输入模式。 |
DataItem |
获取绑定到 DetailsView 控件的数据项。 |
DataItemContainer |
如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。 (继承自 Control) |
DataItemCount |
获取基础数据源中的项数。 |
DataItemIndex |
从基础数据源中获取 DetailsView 控件中正在显示的项的索引。 |
DataKey |
获取一个 DataKey 对象,该对象表示所显示的记录的主键。 |
DataKeyNames |
获取或设置一个数组,该数组包含数据源的键字段的名称。 |
DataKeysContainer |
如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。 (继承自 Control) |
DataMember |
当数据源包含多个不同的数据项列表时,获取或设置数据绑定控件绑定到的数据列表的名称。 (继承自 DataBoundControl) |
DataSource |
获取或设置对象,数据绑定控件从该对象中检索其数据项列表。 (继承自 BaseDataBoundControl) |
DataSourceID |
获取或设置控件的 ID,数据绑定控件从该控件中检索其数据项列表。 (继承自 DataBoundControl) |
DataSourceObject |
获取一个对象,该对象实现 IDataSource 接口,以便提供对该对象的数据内容的访问。 (继承自 DataBoundControl) |
DefaultMode |
获取或设置 DetailsView 控件的默认数据输入模式。 |
DeleteMethod |
获取或设置控件执行删除操作时调用的页面上的方法的名称。 |
DeleteMethod |
获取或设置为了删除数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
DesignMode |
获取一个值,该值指示是否正在使用设计图面上的一个控件。 (继承自 Control) |
EditRowStyle |
获取一个对 TableItemStyle 对象的引用,该对象允许您设置在 DetailsView 控件处于编辑模式时数据行的外观。 |
EmptyDataRowStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置在绑定到 DetailsView 控件的数据源不包含任何记录时所显示的空数据行的外观。 |
EmptyDataTemplate |
获取或设置在 DetailsView 控件绑定到不包含任何记录的数据源时所呈现的空数据行的用户定义内容。 |
EmptyDataText |
获取或设置在 DetailsView 控件绑定到不包含任何记录的数据源时所呈现的空数据行中显示的文本。 |
Enabled |
获取或设置一个值,该值指示是否启用 Web 服务器控件。 (继承自 WebControl) |
EnableModelValidation |
获取或设置一个值,该值指示是否启用数据模型验证。 |
EnablePagingCallbacks |
获取或设置一个值,该值指示客户端回调函数是否用于 DetailsView 控件中的分页操作。 |
EnableTheming |
获取或设置一个值,该值指示主题是否应用于该控件。 (继承自 WebControl) |
EnableViewState |
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。 (继承自 Control) |
Events |
获取控件的事件处理程序委托列表。 此属性为只读。 (继承自 Control) |
FieldHeaderStyle |
获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的标题列的外观。 |
Fields |
获取 DataControlField 对象的集合,这些对象表示 DetailsView 控件中显式声明的行字段。 |
Font |
获取与 Web 服务器控件关联的字体属性。 (继承自 WebControl) |
FooterRow |
获取表示 DetailsViewRow 控件中的脚注行的 DetailsView 对象。 |
FooterStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置 DetailsView 控件中的脚注行的外观。 |
FooterTemplate |
获取或设置 DetailsView 控件中的脚注行的用户定义内容。 |
FooterText |
获取或设置要在 DetailsView 控件的脚注行中显示的文本。 |
ForeColor |
获取或设置 Web 服务器控件的前景色(通常是文本颜色)。 (继承自 WebControl) |
GridLines |
获取或设置 DetailsView 控件的网格线样式。 |
HasAttributes |
获取一个值,该值指示控件是否具有特性集。 (继承自 WebControl) |
HasChildViewState |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。 (继承自 Control) |
HeaderRow |
获取表示 DetailsViewRow 控件中的标题行的 DetailsView 对象。 |
HeaderStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置 DetailsView 控件中的标题行的外观。 |
HeaderTemplate |
获取或设置 DetailsView 控件中的标题行的用户定义内容。 |
HeaderText |
获取或设置要在 DetailsView 控件的标题行中显示的文本。 |
Height |
获取或设置 Web 服务器控件的高度。 (继承自 WebControl) |
HorizontalAlign |
获取或设置 DetailsView 控件在页面上的水平对齐方式。 |
ID |
获取或设置分配给服务器控件的编程标识符。 (继承自 Control) |
IdSeparator |
获取用于分隔控件标识符的字符。 (继承自 Control) |
Initialized |
获取一个值,该值指示数据绑定控件是否已经初始化。 (继承自 BaseDataBoundControl) |
InsertMethod |
获取或设置控件执行插入操作时调用的页面上的方法的名称。 |
InsertMethod |
获取或设置为了插入数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
InsertRowStyle |
获取一个对 TableItemStyle 对象的引用,该对象允许您设置在 DetailsView 控件处于插入模式时 DetailsView 控件中的数据行的外观。 |
IsBoundUsingDataSourceID |
获取指示是否设置 DataSourceID 属性的值。 (继承自 BaseDataBoundControl) |
IsChildControlStateCleared |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。 (继承自 Control) |
IsDataBindingAutomatic |
获取一个值,该值指示数据绑定是否自动进行。 (继承自 BaseDataBoundControl) |
IsEnabled |
获取一个值,该值指示是否启用控件。 (继承自 WebControl) |
IsTrackingViewState |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。 (继承自 Control) |
IsUsingModelBinders |
获取一个值,该值指示是否使用模型绑定。 (继承自 CompositeDataBoundControl) |
IsViewStateEnabled |
获取一个值,该值指示是否为该控件启用了视图状态。 (继承自 Control) |
ItemType |
获取或设置强类型化数据绑定的数据项目类型的名称。 (继承自 DataBoundControl) |
LoadViewStateByID |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 (继承自 Control) |
NamingContainer |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。 (继承自 Control) |
Page |
获取对包含服务器控件的 Page 实例的引用。 (继承自 Control) |
PageCount |
获取数据源中的记录数。 |
PageIndex |
获取或设置所显示的记录的索引。 |
PagerSettings |
获取一个对 PagerSettings 对象的引用,使用该对象可以设置 DetailsView 控件中的页导航按钮的属性。 |
PagerStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置 DetailsView 控件中的页导航行的外观。 |
PagerTemplate |
获取或设置 DetailsView 控件中页导航行的自定义内容。 |
Parent |
获取对页 UI 层次结构中服务器控件的父控件的引用。 (继承自 Control) |
RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。 (继承自 Control) |
RequiresDataBinding |
获取或设置一个值,该值指示是否应调用 DataBind() 方法。 (继承自 BaseDataBoundControl) |
Rows |
获取表示 DetailsViewRow 控件中数据行的 DetailsView 对象的集合。 |
RowsGenerator |
获取或设置一个对象,该对象实现 IAutoFieldGenerator 接口,以便自动填充视图中的行。 |
RowStyle |
获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的数据行的外观。 |
SelectArguments |
获取数据绑定控件从数据源控件检索数据时使用的 DataSourceSelectArguments 对象。 (继承自 DataBoundControl) |
SelectedValue |
获取 DetailsView 控件中的当前记录的数据键值。 |
SelectMethod |
为了读取数据要调用的方法的名称。 (继承自 DataBoundControl) |
Site |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。 (继承自 Control) |
SkinID |
获取或设置要应用于控件的外观。 (继承自 WebControl) |
Style |
获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。 (继承自 WebControl) |
SupportsDisabledAttribute |
获取一个值,该值指示在控件的 |
TabIndex |
获取或设置 Web 服务器控件的选项卡索引。 (继承自 WebControl) |
TagKey |
获取 DetailsView 控件的 HtmlTextWriterTag 值。 |
TagName |
获取控件标记的名称。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
TemplateControl |
获取或设置对包含该控件的模板的引用。 (继承自 Control) |
TemplateSourceDirectory |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。 (继承自 Control) |
ToolTip |
获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。 (继承自 WebControl) |
TopPagerRow |
获取一个 DetailsViewRow 对象,该对象表示 DetailsView 控件中的顶部页导航行。 |
UniqueID |
获取服务器控件的唯一的、以分层形式限定的标识符。 (继承自 Control) |
UpdateMethod |
获取或设置控件执行更新操作时调用的页面上的方法的名称。 |
UpdateMethod |
获取或设置为了更新数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
ValidateRequestMode |
获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。 (继承自 Control) |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 (继承自 Control) |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 (继承自 Control) |
ViewStateMode |
获取或设置此控件的视图状态模式。 (继承自 Control) |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 (继承自 Control) |
Width |
获取或设置 Web 服务器控件的宽度。 (继承自 WebControl) |
方法
事件
CallingDataMethods |
在数据方法正被调用时发生。 (继承自 DataBoundControl) |
CreatingModelDataSource |
当 ModelDataSource 对象正被创建时发生。 (继承自 DataBoundControl) |
DataBinding |
当服务器控件绑定到数据源时发生。 (继承自 Control) |
DataBound |
在服务器控件绑定到数据源后发生。 (继承自 BaseDataBoundControl) |
Disposed |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。 (继承自 Control) |
Init |
当服务器控件初始化时发生;初始化是控件生存期的第一步。 (继承自 Control) |
ItemCommand |
在单击 DetailsView 控件中的某个按钮时发生。 |
ItemCreated |
在 DetailsView 控件中创建记录时发生。 |
ItemDeleted |
在单击 DetailsView 控件中的“删除”按钮时,但在删除操作之后发生。 |
ItemDeleting |
在单击 DetailsView 控件中的“删除”按钮时,但在删除操作之前发生。 |
ItemInserted |
在单击 DetailsView 控件中的“插入”按钮时,但在插入操作之后发生。 |
ItemInserting |
在单击 DetailsView 控件中的“插入”按钮时,但在插入操作之前发生。 |
ItemUpdated |
在单击 DetailsView 控件中的“更新”按钮时,但在更新操作之后发生。 |
ItemUpdating |
在单击 DetailsView 控件中的“更新”按钮时,但在更新操作之前发生。 |
Load |
当服务器控件加载到 Page 对象中时发生。 (继承自 Control) |
ModeChanged |
在 DetailsView 控件尝试在编辑、插入和只读模式之间更改时,但在更新 CurrentMode 属性之后发生。 |
ModeChanging |
当 DetailsView 控件尝试在编辑、插入和只读模式之间更改时,但在更新 CurrentMode 属性之前发生。 |
PageIndexChanged |
当 PageIndex 属性的值在分页操作后更改时发生。 |
PageIndexChanging |
当 PageIndex 属性的值在分页操作前更改时发生。 |
PreRender |
在加载 Control 对象之后、呈现之前发生。 (继承自 Control) |
Unload |
当服务器控件从内存中卸载时发生。 (继承自 Control) |
显式接口实现
扩展方法
EnablePersistedSelection(BaseDataBoundControl) |
已过时.
使选定内容能够保留在支持选择和分页的数据控件中。 |
FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
FindFieldTemplate(Control, String) |
返回指定控件的命名容器中指定列的字段模板。 |
FindMetaTable(Control) |
返回包含数据控件的元表对象。 |
GetDefaultValues(INamingContainer) |
为指定数据控件获取默认值的集合。 |
GetMetaTable(INamingContainer) |
为指定数据控件获取表元数据。 |
SetMetaTable(INamingContainer, MetaTable) |
为指定数据控件设置表元数据。 |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
为指定数据控件设置表元数据和默认值映射。 |
SetMetaTable(INamingContainer, MetaTable, Object) |
为指定数据控件设置表元数据和默认值映射。 |
TryGetMetaTable(INamingContainer, MetaTable) |
确定表元数据是否可用。 |
EnableDynamicData(INamingContainer, Type) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, Object) |
为指定数据控件启用动态数据行为。 |