¿Es posible colocar los botones "Registro externo" dentro de la página .razor (lado del servidor)?
El siguiente código es de ExternalRegister.cshtml pero me gustaría tener esos dos botones de registro (Google, Facebook) como parte de la página Start.razor. ¿Es eso posible?
@model Aplication.Areas.Identity.Pages.Account.ExternalRegisterModel <form id="external-account" asp-page="./ExternalLogin" asp-route-returnUrl="@Model.ReturnUrl" method="post" class="form-horizontal"> <div> <p> @foreach (var provider in Model.ExternalLogins) { <button type="submit" class="btn btn-primary" name="provider" value="@provider.Name" title="Log in using your @provider.DisplayName account">@provider.DisplayName</button> } </p> </div> </form>Creo que la mejor estrategia es definir dos métodos OnPost en su Razor PageModel (Code-Behind). Por ejemplo:
public void OnPostFaceBook(ExternalLogin provider) { //your code here } public void OnPostGoogle(ExternalLogin provider) { //your code here }Y en su archivo .cshtml, coloque dos formularios separados para cada uno y agregue el parámetro asp-page-handler a cada botón de envío. Por ejemplo:
<button type="submit" class="btn btn-primary" value="FaceBook" value="FaceBook" asp-page-handler="FaceBook">Log in using your FaceBook account</button>y en otra forma:
<button type="submit" class="btn btn-primary" value="Google" value="Google" asp-page-handler="Google">Log in using your Google account</button>