Imports System Imports System.Data.SqlClient Imports System.Data Partial Class Default2 Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Dim strID As String = Request.QueryString("id") ViewState("strID") = strID DetailsView1.DataSource = bindData(strID) DetailsView1.DataBind() End If End Sub Public Function bindData(ByVal ID As String) As DataSet Dim strCon As String ="server=.;database=test;uid=sa;pwd=sql" Dim sql As String ="select * from userinfo where id='"+ ID +"'" Using con As New SqlConnection(strCon) Using cmd As New SqlCommand(sql, con) con.Open() Dim da As New SqlDataAdapter(cmd) Dim dataset As New DataSet() da.Fill(dataset) Return dataset End Using End Using End Function Protected Sub DetailsView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewPageEventArgs) Handles DetailsView1.PageIndexChanging End Sub Protected Sub DetailsView1_ItemCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewCommandEventArgs) Handles DetailsView1.ItemCommand If e.CommandName.Equals("Edit") Then 'DetailsView1.DefaultMode = DetailsViewMode.Edit DetailsView1.ChangeMode(DetailsViewMode.Edit) DetailsView1.DataSource = bindData(ViewState("strID").ToString()) DetailsView1.DataBind() End If If e.CommandName.Equals("Cancel") Then DetailsView1.ChangeMode(DetailsViewMode.ReadOnly) DetailsView1.DataSource = bindData(ViewState("strID").ToString()) DetailsView1.DataBind() End If End Sub Protected Sub DetailsView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewUpdateEventArgs) Handles DetailsView1.ItemUpdating Dim strid As String = ViewState("strID").ToString() Dim sql As String ="update userinfo set name ='"+ CType(DetailsView1.FindControl("TextBox2"), TextBox).Text.Trim() +"' where id='"+ strid +"'" Dim strCon As String ="server=.;database=test;uid=sa;pwd=sql" Using con As New SqlConnection(strCon) Using cmd As New SqlCommand(sql, con) con.Open() cmd.ExecuteNonQuery() End Using End Using DetailsView1.ChangeMode(DetailsViewMode.ReadOnly) DetailsView1.DataSource = bindData(ViewState("strID").ToString()) DetailsView1.DataBind() End Sub Protected Sub DetailsView1_ModeChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewModeEventArgs) Handles DetailsView1.ModeChanging End Sub Protected Sub DetailsView1_ItemCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.ItemCreated End Sub End Class