Получение 'Ссылка на объект не установлена ​​для экземпляра объекта' error..vb - PullRequest
1 голос
/ 08 января 2012

Я не понимаю, почему я получаю эту ошибку, код работал и работал совершенно раньше.Я пытался обновить электронную почту пользователя с помощью кнопки.Он работал нормально, но теперь по какой-то причине он продолжает выдавать мне ошибку: «Ссылка на объект не установлена ​​для экземпляра объекта. Строка 34: EmailTextBox.Text = u.Email»

Царапины на это дляпару часов, у кого-нибудь есть идея, что это может быть?

Мой код aspx.vb:

Public Class _Default
    Inherits System.Web.UI.Page
    Dim u As MembershipUser

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 u = Membership.GetUser(User.Identity.Name)
    If Not IsPostBack Then
        EmailTextBox.Text = u.Email
    End If
End Sub


Public Sub UpdateEmailButton_OnClick(ByVal sender As Object, ByVal args As EventArgs)
    Try
        u.Email = EmailTextBox.Text
    Membership.UpdateUser(u)

    Msg.Text = "User e-mail updated."
Catch e As System.Configuration.Provider.ProviderException

    Msg.Text = e.Message
End Try
End Sub

код aspx:

 <h3>Update E-Mail Address for <%=User.Identity.Name%></h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  <table cellpadding="3" border="0">
    <tr>
      <td>E-mail Address:</td>
      <td><asp:TextBox id="EmailTextBox" MaxLength="128" Columns="30" runat="server" /></td>
      <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
                                    ControlToValidate="EmailTextBox" ForeColor="red"
                                    Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td></td>
      <td><asp:Button id="UpdateEmailButton" 
                      Text="Update E-mail" 
                      OnClick="UpdateEmailButton_OnClick" 
                      runat="server" /></td>
    </tr>
  </table>

1 Ответ

0 голосов
/ 08 января 2012

вам нужно войти в модель отладки и увидеть u = Membership.GetUser (User.Identity.Name) независимо от того, имеет ли значение null.

Я думаю, что Membership.GetUser (User.Identity.Name) возвращает значение NULL.возможно, ваш логг был тайм-аут, может быть просто ошибка членства пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...