asp.netのアイデンティティ、複数のテーブルを接続するASP.NETのIDで
AspNetUsers
テーブルid
列
私は別のテーブル名Staff
を作成し、私はスタッフのテーブルの列Staff_ID
へAspNetUsers
id
で両方のテーブルをリンクします
(どちらのテーブルもnvarchar(128))
私は新しいレコードを作成するときに、私はVisual Studioで
をスタッフをCRUDは、Staff_ID
分野では、それは私にドロップダウンリストでAspNetUser
のユーザーの完全なリストを示しています。
私はこのドロップダウンリストを希望しません。
ログインしたユーザーにレコードを保存します。 (私はリストから選択する必要はありません)
// POST: Staffs/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Staff_ID,First_Name,Designation,Department,Employment_Type,Clinic_ID,Title,Middle_Name,Last_Name,DOB,Gender,Marital_Status,Religion,CNIC,Nationality,Hire_Date,Employment_Status,Address,City,Country,Email,Contact_Number,Education,Salary,Leave_Avail,Leave_Details,Loan_Details")] Staff staff)
{
if (ModelState.IsValid)
{
//db.Staffs.Add(staff);
//db.SaveChanges();
//return RedirectToAction("Index");
staff.Staff_ID = User.Identity.GetUserId();
db.Staffs.Add(staff);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.Staff_ID = new SelectList(db.AspNetUsers, "Id", "ClinicName", staff.Staff_ID);
ViewBag.Country = new SelectList(db.Countries, "Country_ID", "Country_Name", staff.Country);
return View(staff);
}
マイビュー:
<div class="form-group">
@Html.LabelFor(model => model.Staff_ID, "Staff_ID", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Staff_ID", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Staff_ID, "", new { @class = "text-danger" })
</div>
</div>
私はそれを得たので、あなたはどんな解決策を提案することができますか? –
これは1:1の関係です –