0

私はまだこのページに何度も何度もつまずいています。ユーザーが正常にログインした後、ユーザーのユーザー名 (ユーザー名として電子メールを使用) をページに表示することができませんでしたmysupport.aspx。結果は次のようになり、電子メールが表示されますが、何も取得されません:

電子メール:   barb@hotmail.com

アマチュアなので、パズルの大きなピースが欠けていることはわかっていますが、何が何なのかわかりません。mailLBL.Text = User.Identity.Name.ToString()を間違って使用していますか? 以下はコード ビハインドです。

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data.SqlClient

Partial Class mysupport
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    Dim sConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("TrackTicketsConnectionString2").ConnectionString)
    sConnection.Open()

    Dim cmdS As String = "Select Email from Users Where Deleted='N'"
    Dim cmdCheckmail As New SqlCommand(cmdS, sConnection)

    If Session("Ticket") IsNot Nothing Then
        mailLBL.Text = User.Identity.Name.ToString()
    Else
        Response.Redirect("SignIn.aspx")
    End If

End Sub
Protected Sub signinBTN_Click(ByVal sender As Object, ByVal e As EventArgs)
    Session("Ticket") = Nothing
    Response.Redirect("SignIn.aspx")
End Sub
End Class

どんな助けと指導も本当に感謝しています!

4

1 に答える 1

1

最初にできることは、次のリンクを調べることです。

このコードにはいくつか問題があります。

古いコード:

Dim cmdS As String = "Select Email from Users Where Deleted='N'"
Dim cmdCheckmail As New SqlCommand(cmdS, sConnection)

If Session("Ticket") IsNot Nothing Then
    mailLBL.Text = User.Identity.Name.ToString()
Else
    Response.Redirect("SignIn.aspx")
End If

修正されたコード:

  If Session("Ticket") Is Nothing Then
    Response.Redirect("SignIn.aspx")
  Else
    Dim cmdS As String = "Select Email from Users Where Deleted='N' AND Username=@Username"
    Dim cmdCheckEmail as new SqlCommand(cmdS, sConnection)
    cmd.AddParameters(new SqlParameter("@UserName", SqlDbType.VarChar).Value = Session("Ticket")
    Dim obj as Object = cmd.ExecuteScalar()
    If obj isNot Nothing
      mailLBL.Text = Convert.ToString(obj)
    End If
  End

それが役立つことを願っています。

于 2013-06-04T18:10:39.970 に答える