ObjectDataSource.SortParameterName 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置业务对象的名称,SelectMethod 参数使用此业务对象指定数据源排序支持的排序表达式。
public:
property System::String ^ SortParameterName { System::String ^ get(); void set(System::String ^ value); };
public string SortParameterName { get; set; }
member this.SortParameterName : string with get, set
Public Property SortParameterName As String
属性值
方法参数的名称,此方法参数用于指示哪个参数用于排序数据。 默认值为一个空字符串。
示例
本部分包含两个代码示例。 第一个代码示例演示如何实现支持排序的类型。 第二个代码示例演示如何实现排序表达式。
下面的代码示例演示如何实现支持排序的类型。 SelectMethod
SortingData
类采用参数sortExpression
。 传递给SelectMethod
的字符串用于Sort由SelectMethod
返回的对象的属性DataView。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Samples.AspNet.CS
{
public class SortingData
{
public SortingData()
{
}
private static DataTable table;
private DataTable CreateData()
{
table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Number", typeof(int));
table.Rows.Add(new object[] { "one", 1 });
table.Rows.Add(new object[] { "two", 2 });
table.Rows.Add(new object[] { "three", 3 });
table.Rows.Add(new object[] { "four", 4 });
return table;
}
public DataView SelectMethod(string sortExpression)
{
table ??= CreateData();
DataView dv = new DataView(table);
dv.Sort = sortExpression;
return dv;
}
}
}
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Namespace Samples.AspNet.VB
Public Class SortingData
Public Sub New()
End Sub
Private Shared table As DataTable
Private Function CreateData() As DataTable
table = New DataTable()
table.Columns.Add("Name", GetType(String))
table.Columns.Add("Number", GetType(Integer))
table.Rows.Add(New Object() {"one", 1})
table.Rows.Add(New Object() {"two", 2})
table.Rows.Add(New Object() {"three", 3})
table.Rows.Add(New Object() {"four", 4})
Return table
End Function
Public Function SelectMethod(ByVal sortExpression As String) As DataView
If table Is Nothing Then
table = CreateData()
End If
Dim dv As New DataView(table)
dv.Sort = sortExpression
Return dv
End Function
End Class
End Namespace
下面的代码示例演示如何实现排序表达式。 网页中的代码创建控件的 ObjectDataSource 实例。 该 TypeName 属性设置为 SortingData
,并且属性 SortParameterName 设置为 sortExpression
. 控件 AllowSorting 的属性 GridView 设置为 true
。 当用户单击 “排序”按钮时,字段名称Name
或Number
将在排序参数中传递。SelectMethod
<%--<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
--%><%@ 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">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1"
runat="server"
DataSourceID="ObjectDataSource1"
AllowSorting="True">
</asp:GridView>
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
SelectMethod="SelectMethod"
TypeName="Samples.AspNet.CS.SortingData"
SortParameterName="sortExpression">
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ 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">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1"
runat="server"
DataSourceID="ObjectDataSource1"
AllowSorting="True">
</asp:GridView>
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
SelectMethod="SelectMethod"
TypeName="Samples.AspNet.VB.SortingData"
SortParameterName="sortExpression">
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
注解
该 SortParameterName 属性用于支持数据源排序。 SortExpression当在对象上DataSourceSelectArguments设置属性并传递给Select该方法时,SortParameterName该值将标识业务对象方法的参数SelectMethod名称,根据该方法对数据进行排序。
ObjectDataSource如果与数据绑定控件相关联,则传递给此参数的值采用逗号分隔字段值的形式,后跟"ASC"
或"DESC"
。 例如,升序排序 Name
的值将是 "Name ASC"
。
该SortParameterName属性将委托给SortParameterName与ObjectDataSource控件关联的对象的属性ObjectDataSourceView。