zu integrieren Ich arbeite derzeit an einem MVC-Projekt, das CRUD für einen Berater und einen Client (2 separate Tabellen) benötigt. Zu Beginn haben wir CRUD für diese Benutzer erstellt und stellen nun fest, dass wir eine Registrierungs- und Anmeldefunktion hinzufügen müssen. Gibt es eine Möglichkeit, den integrierten AccountController mit dem vorhandenen Controller aufzurufen, den wir generiert haben?wie AccountController (Registrierung) in CRUD mit MVC
Oder gibt es eine Möglichkeit, zwei oder mehr Modelle in einer einzigen Steuerung oder Ansicht aufzurufen?
Client-Modell
public class Client:ApplicationUser
{
[Key]
[Required]
public int Id { get; set; }
[Required]
[Display(Name = "Client Name")]
public string ClientName { get; set; }
[Required]
[Display(Name = "Client Address")]
public string ClientAddress { get; set; }
[Required]
[Display(Name = "Contact Number")]
public long ContactNumber { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[Display(Name = "Project Leader")]
public string ProjectLeader { get; set; }
public virtual ManageTravel ManageTravel { get; set; }
[Display(Name = "Rate")]
public double Rate { get; set; }
[Display(Name = "Distance")]
public string Distance { get; set; }
[Display(Name = "Rate")]
[Required]
public string TravelCode { get; set; }
Consultant Modell
public class Consultant:ApplicationUser
{
[Key]
public int ConsultantNum { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[Display(Name = "Contact Number")]
public int ContactNumber { get; set; }
[Required]
[Display(Name = "Consultant Address")]
public string ConsultantAddress { get; set; }
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Required]
[Display(Name = "Consultant Type")]
public string ConsultantType { get; set; }
[Required]
[Display(Name = "Commission Code")]
public string ComissionCode { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Required]
[Display(Name = "Role Type")]
public string RoleType { get; set; }
}
Account
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// This code has been added to the action for email confirmation
var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action(
"ConfirmEmail",
"Account",
new { userId = user.Id, code = code },
protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(
user.Id,
"Confirm your account",
"Please confirm your account by clicking this link: <a href=\""
+ callbackUrl + "\">link</a>");
ViewBag.Link = callbackUrl;
return View("DisplayEmail"); // DisplayEmail View has been created
}
AddErrors(result);
//end of email confirmation code
}
// If we got this far, something failed, redisplay form
return View(model);
}
Sie für die Lösung Danke, ich habe ein paar Anfragen, Ihnen helfen können hoffen. –
Vielen Dank für die Lösung, ich habe ein paar Fragen und hoffe, Sie können helfen.Füllen Sie im JoinViewModel Felder aus, die sowohl in meinem Client- als auch in meinem Beratermodell identisch sind? Wie würde ich diesen Registrierungsprozess in einer Ansicht anzeigen? –
Ok, ich werde dir helfen, die Demo zu modifizieren und ich werde sie hier kommentieren, aber wenn ich deinen Punkt verstehe, fragst du nach der Registrierungsansicht, was es wäre! und bitte, wenn die Antwort war nützlich, markieren Sie es als Antwort @ShriyaBramdeo – AlameerAshraf