要在ASP.NET中访问DataGrid中所有控件的值,可以遍历DataGrid中每个控件
实例1(来至孟子E章):
后端代码:
Imports System.Collections
Public Class DataGridAccessValues
Inherits System.Web.UI.Page
Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents GetValues As System.Web.UI.WebControls.Button
Protected WithEvents ResultField As System.Web.UI.WebControls.Label
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Public Sub GetValues_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GetValues.Click
Dim Result As String = ""
Dim dataGridItem As DataGridItem
For Each dataGridItem In MyDataGrid.Items
Dim Name As String = dataGridItem.Cells(0).Text
Dim AgeField As TextBox = dataGridItem.FindControl("AgeField")
Dim Age As Integer = System.Convert.ToInt64(AgeField.Text).ToString()
Dim IsGraduateField As CheckBox = dataGridItem.FindControl("IsGraduateField")
Dim IsGraduate As Boolean = IsGraduateField.Checked
Dim Skills As String = ""
Dim item As ListItem
Dim CheckBoxList1 As CheckBoxList = dataGridItem.FindControl("CheckBoxList1")
For Each item In CheckBoxList1.Items
If item.Selected Then
Skills = Skills + item.Value + ","
End If
Next
Skills = Skills.TrimEnd(",")
Dim RadioButtonList1 As RadioButtonList = dataGridItem.FindControl("RadioButtonList1")
Dim Experience As String = RadioButtonList1.SelectedItem.Text
Dim DropDownList1 As DropDownList = dataGridItem.FindControl("DropDownList1")
Dim Degree As String = DropDownList1.SelectedItem.Text
Result = Result + Name
Result = Result + "[年龄:" + Age.ToString() + "]"
Result += " "
If IsGraduate Then
Result += "已经毕业 , "
Else
Result += "没有毕业 , "
End If
Result += "技能:" + Skills + " , "
Result += "经验: " + Experience + " , 和 "
Result += "学位: " + Degree + "。"
Result += "
" Next ResultField.Text = Result End Sub Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 If Not Page.IsPostBack Then Dim data As ArrayList = New ArrayList() data.Add(New Person("Net_lover", 33, True)) data.Add(New Person("孟子E章", 28, True)) data.Add(New Person("精彩世界", 20, False)) data.Add(New Person("XML开发", 27, True)) MyDataGrid.DataSource = data MyDataGrid.DataBind() End If End Sub End Class Public Class Person Private _Name As String Private _Age As Integer Private _IsGraduate As Boolean Public Sub New(ByVal Name As String, ByVal Age As Integer, ByVal IsGraduate As Boolean) _Name = Name _Age = Age _IsGraduate = IsGraduate End Sub Public Property Name() As String Get Return _Name End Get Set(ByVal Value As String) _Name = Value End Set End Property Public Property Age() As Integer Get Return _Age End Get Set(ByVal Value As Integer) _Age = Value End Set End Property Public Property IsGraduate() As Boolean Get Return _IsGraduate End Get Set(ByVal Value As Boolean) _IsGraduate = Value End Set End Property End Class C#例子代码: 实例2(来至ASP.NET快速入门):
" Next ResultField.Text = Result End Sub Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 If Not Page.IsPostBack Then Dim data As ArrayList = New ArrayList() data.Add(New Person("Net_lover", 33, True)) data.Add(New Person("孟子E章", 28, True)) data.Add(New Person("精彩世界", 20, False)) data.Add(New Person("XML开发", 27, True)) MyDataGrid.DataSource = data MyDataGrid.DataBind() End If End Sub End Class Public Class Person Private _Name As String Private _Age As Integer Private _IsGraduate As Boolean Public Sub New(ByVal Name As String, ByVal Age As Integer, ByVal IsGraduate As Boolean) _Name = Name _Age = Age _IsGraduate = IsGraduate End Sub Public Property Name() As String Get Return _Name End Get Set(ByVal Value As String) _Name = Value End Set End Property Public Property Age() As Integer Get Return _Age End Get Set(ByVal Value As Integer) _Age = Value End Set End Property Public Property IsGraduate() As Boolean Get Return _IsGraduate End Get Set(ByVal Value As Boolean) _IsGraduate = Value End Set End Property End Class C#例子代码: 实例2(来至ASP.NET快速入门):