我有一個編輯配置文件頁面,允許用戶更改他們的信息 - 目前它只允許擁有表格'userprofiles'中的記錄的用戶編輯他們的信息。我希望新註冊的用戶也能夠編輯他們的配置文件。評估頁面是否是特定頁面的推薦結果
當前,我正在使用ASP.NET成員資格系統和Access數據庫中的相應asp.net_表來存儲用戶憑證。 'userprofiles'表是一個單獨的表,其中有更多的個人信息。有兩個表之間沒有聯繫
這裏是我的代碼背後:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsCrossPagePostBack Then SeparateNewUserFunction() Return End If If Not IsPostBack Then DisplayData() SaveConfirmation.Visible = False End If End Sub
而這裏只是如果有人有興趣爲它做什麼我DisplayData()函數:
Protected Sub DisplayData() Dim conn As OleDbConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings("BookMeetConnString").ConnectionString) Dim sql = "SELECT * FROM userprofiles WHERE [email protected]" Dim cmd = New OleDbCommand(sql, conn) cmd.Parameters.AddWithValue("@f1", User.Identity.Name) conn.Open() Dim profileDr = cmd.ExecuteReader() profileDr.Read() Dim newEmailAddress = "" Dim newDescription = "" If Not IsDBNull(profileDr("EmailAddress")) Then newEmailAddress = profileDr.Item("EmailAddress") If Not IsDBNull(profileDr("Description")) Then newDescription = profileDr.Item("Description") If Not IsDBNull(profileDr("AvatarURL")) Then ProfilePic.ImageUrl = profileDr.Item("AvatarURL") description.Text = newDescription email.Text = newEmailAddress conn.Close() End Sub
而不是如果記錄存在檢查了 '的UserProfiles'表與當前用戶的User.Identity.Name匹配,我認爲只是評估用戶是否剛從Register.aspx頁面重定向,會更容易一些。 (如果這個評估是真的,那麼就像你上面看到的那樣,將會調用一個單獨的「新用戶」函數)。
這是我的邏輯,但我不知道如果VB.NET有一個「referrer」或「isReferred」表達式? (當時你可以看到我認爲是CrossPagePostback可能是正確的,但沒有運氣!)
任何想法?
我也強烈建議一邊學習[ASP.NET MVC](http://www.asp.net/mvc),或者在適應Web窗體後立即學習。 – MikeSmithDev
好的,謝謝。我會研究這個! – adaam