ButtonType 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定可在 Web 窗体页中呈现的不同类型的按钮。
public enum class ButtonType
public enum ButtonType
type ButtonType =
Public Enum ButtonType
- 继承
字段
Button | 0 | 命令按钮。 |
Image | 1 | 显示图像的按钮。 |
Link | 2 | 超链接样式的按钮。 |
示例
以下示例演示如何使用 ButtonType 枚举指定链接按钮显示在 ButtonField 控件的 GridView 字段列中。 对象的 ButtonType 属性 ButtonField 以声明方式设置为 ButtonType.Link
。
<%@ 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 AuthorsGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
{
// If multiple ButtonField column fields are used, use the
// CommandName property to determine which button was clicked.
if(e.CommandName=="Select")
{
// Convert the row index stored in the CommandArgument
// property to an Integer.
int index = Convert.ToInt32(e.CommandArgument);
// Get the last name of the selected author from the appropriate
// cell in the GridView control.
GridViewRow selectedRow = AuthorsGridView.Rows[index];
TableCell lastNameCell = selectedRow.Cells[1];
string lastName = lastNameCell.Text;
// Display the selected author.
Message.Text = "You selected " + lastName + ".";
}
}
void AuthorsGridView_RowCreated(Object sender, GridViewRowEventArgs e)
{
// The GridViewCommandEventArgs class does not contain a
// property that indicates which row's command button was
// clicked. To identify which row contains the button
// clicked, use the button's CommandArgument property by
// setting it to the row's index.
if(e.Row.RowType == DataControlRowType.DataRow)
{
// Retrieve the button control from the first column.
// Because the ButtonType property of the column field
// is set to ButtonType.Link, the button control must be
// cast to a LinkButton. If you specify a different button
// type, you must cast the button control to the appropriate
// button type.
LinkButton selectButton = (LinkButton)e.Row.Cells[0].Controls[0];
// Set the LinkButton's CommandArgument property with the
// row's index.
selectButton.CommandArgument = e.Row.RowIndex.ToString();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonType Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ButtonType Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="AuthorsGridView"/>
<!-- Populate the Fields collection declaratively. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
onrowcommand="AuthorsGridView_RowCommand"
runat="server">
<columns>
<asp:buttonfield buttontype="Link" commandname="Select" text="Select"/>
<asp:boundfield datafield="au_lname" headertext="au_lname"/>
<asp:boundfield datafield="au_fname" headertext="au_fname"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_lname], [au_fname] FROM [authors]"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</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 AuthorsGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
' If multiple ButtonField column fields are used, use the
' CommandName property to determine which button was clicked.
If e.CommandName = "Select" Then
' Convert the row index stored in the CommandArgument
' property to an Integer.
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
' Get the last name of the selected author from the appropriate
' cell in the GridView control.
Dim selectedRow As GridViewRow = AuthorsGridView.Rows(index)
Dim lastNameCell As TableCell = selectedRow.Cells(1)
Dim lastName As String = lastNameCell.Text
' Display the selected author.
Message.Text = "You selected " & lastName & "."
End If
End Sub
Sub AuthorsGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
' The GridViewCommandEventArgs class does not contain a
' property that indicates which row's command button was
' clicked. To identify which row contains the button
' clicked, use the button's CommandArgument property by
' setting it to the row's index.
If e.Row.RowType = DataControlRowType.DataRow Then
' Retrieve the button control from the first column.
' Because the ButtonType property of the column field
' is set to ButtonType.Link, the button control must be
' cast to a LinkButton. If you specify a different button
' type, you must cast the button control to the appropriate
' button type.
Dim selectButton As LinkButton = CType(e.Row.Cells(0).Controls(0), LinkButton)
' Set the LinkButton's CommandArgument property with the
' row's index.
selectButton.CommandArgument = e.Row.RowIndex.ToString()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonType Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ButtonType Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="AuthorsGridView"/>
<!-- Populate the Columns collection declaratively. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
onrowcommand="AuthorsGridView_RowCommand"
runat="server">
<columns>
<asp:buttonfield buttontype="Link" commandname="Select" text="Select"/>
<asp:boundfield datafield="au_lname" headertext="au_lname"/>
<asp:boundfield datafield="au_fname" headertext="au_fname"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_lname], [au_fname] FROM [authors]"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
注解
枚举ButtonType用于表示 (不同类型的按钮,例如命令按钮、图像按钮、链接按钮等) ,这些按钮可以在 ASP.NET 页上呈现。 它通常由类的属性(如 ButtonType 类的属性 ButtonFieldBase )用来指示父控件正在使用哪个按钮类型。