Skip to content

Commit 381cbf9

Browse files
committed
example in .net 4.5, custom solution file, new desharp release package
1 parent ebf0705 commit 381cbf9

File tree

77 files changed

+10107
-2847
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+10107
-2847
lines changed

About.aspx.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
using System.Web.UI.WebControls;
77

88
namespace ExampleWebForms {
9-
public partial class About: Page {
10-
protected void Page_Load (object sender, EventArgs e) {
9+
public partial class About: Page {
10+
protected void Page_Load(object sender, EventArgs e) {
1111

12-
}
13-
}
12+
}
13+
}
1414
}

About.aspx.designer.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Account/AddPhoneNumber.aspx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<%@ Page Title="Phone Number" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="AddPhoneNumber.aspx.cs" Inherits="ExampleWebForms.Account.AddPhoneNumber" %>
2+
3+
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
4+
<h2><%: Title %>.</h2>
5+
6+
<div class="form-horizontal">
7+
<h4>Add a phone number</h4>
8+
<hr />
9+
<asp:ValidationSummary runat="server" CssClass="text-danger" />
10+
<p class="text-danger">
11+
<asp:Literal runat="server" ID="ErrorMessage" />
12+
</p>
13+
<div class="form-group">
14+
<asp:Label runat="server" AssociatedControlID="PhoneNumber" CssClass="col-md-2 control-label">Phone Number</asp:Label>
15+
<div class="col-md-10">
16+
<asp:TextBox runat="server" ID="PhoneNumber" CssClass="form-control" TextMode="Phone" />
17+
<asp:RequiredFieldValidator runat="server" ControlToValidate="PhoneNumber"
18+
CssClass="text-danger" ErrorMessage="The PhoneNumber field is required." />
19+
</div>
20+
</div>
21+
<div class="form-group">
22+
<div class="col-md-offset-2 col-md-10">
23+
<asp:Button runat="server" OnClick="PhoneNumber_Click"
24+
Text="Submit" CssClass="btn btn-default" />
25+
</div>
26+
</div>
27+
</div>
28+
</asp:Content>

Account/AddPhoneNumber.aspx.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Web;
5+
using System.Web.UI;
6+
using System.Web.UI.WebControls;
7+
using Microsoft.AspNet.Identity;
8+
using Microsoft.AspNet.Identity.Owin;
9+
using System.Threading.Tasks;
10+
using ExampleWebForms.Models;
11+
12+
namespace ExampleWebForms.Account
13+
{
14+
public partial class AddPhoneNumber : System.Web.UI.Page
15+
{
16+
protected void PhoneNumber_Click(object sender, EventArgs e)
17+
{
18+
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
19+
var code = manager.GenerateChangePhoneNumberToken(User.Identity.GetUserId(), PhoneNumber.Text);
20+
if (manager.SmsService != null)
21+
{
22+
var message = new IdentityMessage
23+
{
24+
Destination = PhoneNumber.Text,
25+
Body = "Your security code is " + code
26+
};
27+
28+
manager.SmsService.Send(message);
29+
}
30+
31+
Response.Redirect("/Account/VerifyPhoneNumber?PhoneNumber=" + HttpUtility.UrlEncode(PhoneNumber.Text));
32+
}
33+
}
34+
}

Account/AddPhoneNumber.aspx.designer.cs

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Account/Confirm.aspx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<%@ Page Title="Account Confirmation" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Confirm.aspx.cs" Inherits="ExampleWebForms.Account.Confirm" Async="true" %>
2+
3+
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
4+
<h2><%: Title %>.</h2>
5+
6+
<div>
7+
<asp:PlaceHolder runat="server" ID="successPanel" ViewStateMode="Disabled" Visible="true">
8+
<p>
9+
Thank you for confirming your account. Click <asp:HyperLink ID="login" runat="server" NavigateUrl="~/Account/Login">here</asp:HyperLink> to login
10+
</p>
11+
</asp:PlaceHolder>
12+
<asp:PlaceHolder runat="server" ID="errorPanel" ViewStateMode="Disabled" Visible="false">
13+
<p class="text-danger">
14+
An error has occurred.
15+
</p>
16+
</asp:PlaceHolder>
17+
</div>
18+
</asp:Content>

Account/Confirm.aspx.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using System;
2+
using System.Web;
3+
using System.Web.UI;
4+
using Microsoft.AspNet.Identity;
5+
using Microsoft.AspNet.Identity.Owin;
6+
using Owin;
7+
using ExampleWebForms.Models;
8+
9+
namespace ExampleWebForms.Account
10+
{
11+
public partial class Confirm : Page
12+
{
13+
protected string StatusMessage
14+
{
15+
get;
16+
private set;
17+
}
18+
19+
protected void Page_Load(object sender, EventArgs e)
20+
{
21+
string code = IdentityHelper.GetCodeFromRequest(Request);
22+
string userId = IdentityHelper.GetUserIdFromRequest(Request);
23+
if (code != null && userId != null)
24+
{
25+
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
26+
var result = manager.ConfirmEmail(userId, code);
27+
if (result.Succeeded)
28+
{
29+
successPanel.Visible = true;
30+
return;
31+
}
32+
}
33+
successPanel.Visible = false;
34+
errorPanel.Visible = true;
35+
}
36+
}
37+
}

Account/Confirm.aspx.designer.cs

Lines changed: 43 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Account/Forgot.aspx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<%@ Page Title="Forgot password" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Forgot.aspx.cs" Inherits="ExampleWebForms.Account.ForgotPassword" Async="true" %>
2+
3+
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
4+
<h2><%: Title %>.</h2>
5+
6+
<div class="row">
7+
<div class="col-md-8">
8+
<asp:PlaceHolder id="loginForm" runat="server">
9+
<div class="form-horizontal">
10+
<h4>Forgot your password?</h4>
11+
<hr />
12+
<asp:PlaceHolder runat="server" ID="ErrorMessage" Visible="false">
13+
<p class="text-danger">
14+
<asp:Literal runat="server" ID="FailureText" />
15+
</p>
16+
</asp:PlaceHolder>
17+
<div class="form-group">
18+
<asp:Label runat="server" AssociatedControlID="Email" CssClass="col-md-2 control-label">Email</asp:Label>
19+
<div class="col-md-10">
20+
<asp:TextBox runat="server" ID="Email" CssClass="form-control" TextMode="Email" />
21+
<asp:RequiredFieldValidator runat="server" ControlToValidate="Email"
22+
CssClass="text-danger" ErrorMessage="The email field is required." />
23+
</div>
24+
</div>
25+
<div class="form-group">
26+
<div class="col-md-offset-2 col-md-10">
27+
<asp:Button runat="server" OnClick="Forgot" Text="Email Link" CssClass="btn btn-default" />
28+
</div>
29+
</div>
30+
</div>
31+
</asp:PlaceHolder>
32+
<asp:PlaceHolder runat="server" ID="DisplayEmail" Visible="false">
33+
<p class="text-info">
34+
Please check your email to reset your password.
35+
</p>
36+
</asp:PlaceHolder>
37+
</div>
38+
</div>
39+
</asp:Content>

Account/Forgot.aspx.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using System;
2+
using System.Web;
3+
using System.Web.UI;
4+
using Microsoft.AspNet.Identity;
5+
using Microsoft.AspNet.Identity.Owin;
6+
using Owin;
7+
using ExampleWebForms.Models;
8+
9+
namespace ExampleWebForms.Account
10+
{
11+
public partial class ForgotPassword : Page
12+
{
13+
protected void Page_Load(object sender, EventArgs e)
14+
{
15+
}
16+
17+
protected void Forgot(object sender, EventArgs e)
18+
{
19+
if (IsValid)
20+
{
21+
// Validate the user's email address
22+
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
23+
ApplicationUser user = manager.FindByName(Email.Text);
24+
if (user == null || !manager.IsEmailConfirmed(user.Id))
25+
{
26+
FailureText.Text = "The user either does not exist or is not confirmed.";
27+
ErrorMessage.Visible = true;
28+
return;
29+
}
30+
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
31+
// Send email with the code and the redirect to reset password page
32+
//string code = manager.GeneratePasswordResetToken(user.Id);
33+
//string callbackUrl = IdentityHelper.GetResetPasswordRedirectUrl(code, Request);
34+
//manager.SendEmail(user.Id, "Reset Password", "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>.");
35+
loginForm.Visible = false;
36+
DisplayEmail.Visible = true;
37+
}
38+
}
39+
}
40+
}

0 commit comments

Comments
 (0)