Sub page_load(objSource as Object, objArgs as eventArgs)
Dim htConfig As HashTable
'设置一个对Config.web文件中AppSettings节点的应用
htConfig = Context.GetConfig("appsettings")
'检测Page.IsPostBack属性的值
If page.IsPostback = true then
'执行搜索的动作
userControl.Search(objSource, objArgs)
'将结果绑定到DataGrid控件上面
grdGrid.datasource = userControl.ResultSetView
'正式绑定数据
grdGrid.databind()
End If
End Sub
在某个人输入了一个搜索条件之后并提交我们的.aspx文件之后的显示页面:
'This write only attribute identifies which table will be searched
Public WriteOnly Property TableName as string
Set
'设置表的名称
strTableName = Value
End Set
End Property
'这个程序依照属性的值来操纵一个数据库
Public Sub Search(sender As Object , e As System.EventArgs)
Dim cnConnection As SQLConnection
Dim cmdCommand As SQLDataSetCommand
Dim strSearchString As String
Dim strSQL As String
'如果用户在搜索框中输入了条件
If txtSearch.Text <> "" Then
'过滤掉字符的前后空格
strSearchString = trim$(txtSearch.Text)
End If
'建立我们的SQL语句
strSQL = "SELECT * " & _
"FROM " & strTableName & _
" WHERE " & strConditionField & " LIKE '" & _
trSearchString & "%'"
'如果联接属性被设置了
If strConnection <> "" Then
'建立数据库联接
cnConnection = New SQLConnection(strConnection)
'打开数据库联接
cnConnection.open()
'为搜索建立一个新的command对象
cmdCommand = New SQLDataSetCommand(strSQL, cnConnection)
'建立一个新的DataSet对象
dsData = New DataSet()
'填充dataset对象
cmdCommand.FillDataSet(dsData, "BookTitles")
End If
End Sub
除 HTML 和 Web 服务器控件之外,您还可以轻松创建自己的自定义的可重用控件,所采用的方法与您学习的用来开发 Web 窗体页的方法相同。这些控件称作用户控件。
用户控件使您能够很容易地跨 ASP.NET Web 应用程序划分和重复使用公共 UI 功能。与 Web 窗体页相同,您可以使用任何文本编辑器创作这些控件,或者使用代码隐藏类开发这些控件。此外,与 Web 窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与 Web 窗体页不同的是,不能独立地请求用户控件,用户控件必须包括在 Web 窗体页内才能使用。有关 Web 窗体页与用户控件之间关系的更多信息,请参阅将 Web 窗体页转换为用户控件。
与服务器端包含文件 (SSI) 相比,用户控件通过访问由 ASP.NET 提供的对象模型支持,使您具有更大的灵活性。您可以对您在控件中声明的任何属性进行编程,而不只是包含其他文件提供的功能,这与其他任何 ASP.NET 服务器控件一样。
尽管在创作用户控件时需要选择一种语言,但您可以将多个用户控件包含在用多种语言创作的一个 Web 窗体页中。例如,您可以用 Visual Basic 创造一个用户控件,导入来自 XML 文件的数据,再用 C# 创建另一个用户控件,该控件包含一个订单窗体,然后在同一个 Web 窗体页中包括这两个控件。
此外,您可以独立于包含用户控件的 Web 窗体页中除该控件以外的部分来缓存该控件的输出。这一技术称作片段缓存,适当地使用该技术能够提高站点的性能。例如,如果您的用户控件包含提出数据库请求的 ASP.NET 服务器控件,但该页的其余部分只包含文本和在服务器上运行的简单代码,则您可以对用户控件执行片段缓存,以改进应用程序的性能。有关更多信息,请参阅缓存 ASP.NET 页的部分。