表示 ObjectList ASP.NET 行動控制項的命令。
命名空間: System.Web.UI.MobileControls
組件: System.Web.Mobile (在 system.web.mobile.dll 中)
語法
'宣告
Public Class ObjectListCommand
'用途
Dim instance As ObjectListCommand
public class ObjectListCommand
public ref class ObjectListCommand
public class ObjectListCommand
public class ObjectListCommand
備註
ObjectListCommand 物件可宣告為 ObjectList 之宣告內的 <command> 項目。
也可建構 ObjectListCommand 物件,並且以程式設計方式加入至 ObjectList,其做法便是將此物件加入至控制項的 Commands 成員集合。
範例
在下列程式碼中,示範了如何建立 ObjectListCommand 物件。這個範例是 ObjectList 概觀更加完整範例的一部分。
<%@ Page Language="VB"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
' System.Web.UI.MobileControls.ObjectListItem item
' System.Web.UI.MobileControls.ObjectListItemCollection itemColl
' Get the persisted array through postbacks.
Private arr As New ArrayList()
Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
' Create and fill the array
arr.Add(new Task("Tomorrow's work", "Yes", 1))
arr.Add(new Task("Today's work", "Yes", 1))
arr.Add(new Task("Yesterday's work", "No", 1))
' Persist the array in the Session object
Session("MyArrayList") = arr
' Associate and bind array to the
' ObjectList for each postback.
ObjectList1.DataSource = arr
ObjectList1.LabelField = "TaskName"
ObjectList1.DataBind()
End If
End Sub
Private Sub SelectCommand(ByVal sender As Object, _
ByVal e As ObjectListCommandEventArgs)
' Get the array from the Session object
arr = CType(Session("MyArrayList"), ArrayList)
' Remove selected item from the ObjectLis
Dim i As Integer = ObjectList1.SelectedIndex
arr.RemoveAt(i)
Session("MyArrayList") = arr
' Re-Bind ObjectList to altered ArrayList.
ObjectList1.DataSource = arr
ObjectList1.LabelField = "TaskName"
ObjectList1.DataBind()
ObjectList1.ViewMode = ObjectListViewMode.List
End Sub
Public Sub ShowTaskDetail(ByVal sender As Object, _
ByVal e As ObjectListShowCommandsEventArgs)
' Check conditions, and add or remove
' commands in the detail view.
If e.ListItem("Editable").Equals("No") Then
ObjectList1.Commands.RemoveAt(0)
ElseIf ObjectList1.Commands.Count < 1 Then
ObjectList1.Commands.Add(New ObjectListCommand("Delete", "Delete"))
End If
End Sub
Private Class Task
Private _TaskName As String
Private _Editable As String
Private _Days As Integer
Public Sub New(ByVal TaskName As String, _
ByVal Editable As String, ByVal Days As Integer)
_TaskName = TaskName
_Editable = Editable
_Days = Days
End Sub
Public ReadOnly Property TaskName() As String
Get
Return _TaskName
End Get
End Property
Public ReadOnly Property Editable() As String
Get
Return _Editable
End Get
End Property
Public ReadOnly Property Days() As Integer
Get
Return _Days
End Get
End Property
End Class
</script>
<html xmlns="http:'www.w3.org/1999/xhtml" >
<body>
<mobile:Form runat="server" id="Form1" >
<mobile:ObjectList runat="server" id="ObjectList1"
OnItemCommand="SelectCommand" OnShowItemCommands="ShowTaskDetail" >
<Command Name="Delete" Text="Delete" />
</mobile:ObjectList>
<mobile:Label runat="server" id="Label1" />
<mobile:Label runat="server" id="Label2" />
</mobile:Form>
</body>
</html>
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
//System.Web.UI.MobileControls.ObjectListItem item;
//System.Web.UI.MobileControls.ObjectListItemCollection itemColl;
// Get the persisted array through postbacks.
ArrayList arr = new ArrayList();
public void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Create and fill the array
arr.Add(new Task("Tomorrow's work", "Yes", 1));
arr.Add(new Task("Today's work", "Yes", 1));
arr.Add(new Task("Yesterday's work", "No", 1));
// Persist the array in the Session object
Session["MyArrayList"] = arr;
// Associate and bind array to the
// ObjectList for each postback.
ObjectList1.DataSource = arr;
ObjectList1.LabelField = "TaskName";
ObjectList1.DataBind();
}
}
private void ItemCommand_Click(Object sender,
ObjectListCommandEventArgs e)
{
// Get the array from the Session object
arr = (ArrayList)Session["MyArrayList"];
// Remove selected item from the ObjectLis
int i = ObjectList1.SelectedIndex;
arr.RemoveAt(i);
Session["MyArrayList"] = arr;
// Re-Bind ObjectList to altered ArrayList.
ObjectList1.DataSource = arr;
ObjectList1.LabelField = "TaskName";
ObjectList1.DataBind();
ObjectList1.ViewMode = ObjectListViewMode.List;
}
void ItemCommands_Show(Object sender,
ObjectListShowCommandsEventArgs e)
{
// Check conditions, and add or remove
// commands in the detail view.
if (e.ListItem["Editable"].Equals("No"))
ObjectList1.Commands.RemoveAt(0);
else if (ObjectList1.Commands.Count < 1)
ObjectList1.Commands.Add(new
ObjectListCommand("Delete", "Delete"));
}
private class Task
{
private string _TaskName;
private string _Editable;
private int _Days;
public Task(string TaskName, string Editable, int Days)
{
_TaskName = TaskName;
_Editable = Editable;
_Days = Days;
}
public string TaskName
{ get { return _TaskName; } }
public string Editable
{ get { return _Editable; } }
public int Days
{ get { return _Days; } }
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:Form runat="server" id="Form1" >
<mobile:ObjectList runat="server" id="ObjectList1"
OnItemCommand="ItemCommand_Click"
OnShowItemCommands="ItemCommands_Show" >
<Command Name="Delete" Text="Delete" />
</mobile:ObjectList>
<mobile:Label runat="server" id="Label1" />
<mobile:Label runat="server" id="Label2" />
</mobile:Form>
</body>
</html>
.NET Framework 安全性
- AspNetHostingPermission 用於裝載環境中的作業。要求值:LinkDemand,權限值:Minimal。
- AspNetHostingPermission 用於裝載環境中的作業。要求值:InheritanceDemand,權限值:Minimal。
繼承階層架構
System.Object
System.Web.UI.MobileControls.ObjectListCommand
執行緒安全
這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。
平台
Windows 98、 Windows 2000 SP4、 Windows Millennium Edition、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition
.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。
版本資訊
.NET Framework
支援版本:2.0、1.1
請參閱
參考
ObjectListCommand 成員
System.Web.UI.MobileControls 命名空間