Ah, code...I have reduced these files almost as far as they can go. Let me know what you think:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="UserMgmt.aspx.vb" Inherits="UserMgmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblMain" runat="server"></asp:Label><br />
<asp:Label ID="lblSub" runat="server" Text="Change Password"></asp:Label><br />
<asp:Label ID="Label1" runat="server" AssociatedControlID="tbOldPwd" Text="Old:"></asp:Label>
<asp:TextBox ID="tbOldPwd" runat="server"></asp:TextBox><br />
<asp:Label ID="Label24" runat="server" AssociatedControlID="tbNewPwd" Text="New:"></asp:Label>
<asp:TextBox ID="tbNewPwd" runat="server"></asp:TextBox><br />
<asp:Label ID="Label25" runat="server" AssociatedControlID="tbConfirm" Text="Confirm:"></asp:Label>
<asp:TextBox ID="tbConfirm" runat="server"></asp:TextBox><br />
<asp:Button ID="btnChgPwd" runat="server" OnClick="btnChgPwd_Click"
OnClientClick="return confirm('Change password?')" Text="Change Password" /><br />
<asp:CheckBox ID="cbSendEmail" runat="server" Checked="True" Text="Email User" />
</div>
</form>
</body>
</html>
1 Partial Public Class UserMgmt
2 Inherits System.Web.UI.Page
3
4 Private usr As MembershipUser
5
6 Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
7
8 If Not Page.IsPostBack Then
9 ' Pickup UserName from Session.
10 If Session("UserName") IsNot Nothing Then
11 ' Get membership object
12 usr = Membership.GetUser(Session("UserName").ToString)
13 ' Store membership object.
14 Session("USER") = usr
15 lblMain.Text = "Managing Details for " + usr.UserName
16 End If
17 Else
18 ' On postbacks, retrieve membership object from session.
19 usr = CType(Session("USER"), MembershipUser)
20 End If
21
22 End Sub
23
24 Protected Sub btnChgPwd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnChgPwd.Click
25
26 Try
27 If tbNewPwd.Text <> "" Then usr.ChangePassword(tbOldPwd.Text, tbNewPwd.Text)
28
29 If cbSendEmail.Checked Then
30 Dim mm As New MailMessage
31 mm = New MailMessage
32 mm.From = New MailAddress("name@domain.com")
33 mm.To.Add(New MailAddress(usr.Email))
34 mm.Subject = "Subject Goes Here"
35 mm.Body = "Message text goes here."
36
37 Dim sc As New SmtpClient()
38 sc.Send(mm)
39 End If
40 Catch eX As Exception
41
42 Finally
43
44 End Try
45
46 End Sub
47 End Class
48
49