我正在用 C# 創建一個 ASP.NET MVC 應用程式來將用戶收集到資料庫中。
初始頁面將是一個用于搜索客戶端是否已存在于資料庫中的表單。
如果不存在,我會重定向到訂閱頁面;如果它已經存在,我需要重定向到詳細資訊頁面以顯示資訊。
我遇到的主要問題是,當我找到客戶端并嘗試顯示詳細資訊時,我無法獲取與示例上方的客戶端關聯的 id:
在我的資料庫中:
| 企業標識 | 名稱 | 地址 | 年齡 | 薪水 | 作業型別 |
|---|---|---|---|---|---|
| 0 | 凱文 | 波士頓 | 23 | 1000 | 開發 |
我需要匹配EmpID == 0用Name == Kevin。
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult IndexDetail([Bind(Include = "EmpID,Name")] EmployeeDetails employeeDetails)
{
if (ModelState.IsValid)
{
var userexist = db.EmployeeDetails.Any(x => x.Name == employeeDetails.Name);
if (userexist)
{
return RedirectToAction("Details", "Register", new { id = employeeDetails.EmpID });
}
else
{
return RedirectToAction("Create", "Register", new { id = employeeDetails.EmpID });
}
}
return View(employeeDetails);
}
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
EmployeeDetails employeeDetails = db.EmployeeDetails.Find(id);
if (employeeDetails == null)
{
return HttpNotFound();
}
return View(employeeDetails);
}
如果有人可以在這件事上幫助我,我將非常感激。
uj5u.com熱心網友回復:
您的錯誤是在此處參考現有記錄的 ID 時:
var userexist = db.EmployeeDetails.Any(x => x.Name == employeeDetails.Name);
if (userexist)
{
return RedirectToAction("Details", "Register", new { id = employeeDetails.EmpID });
}
else
{
return RedirectToAction("Create", "Register", new { id = employeeDetails.EmpID });
}
employeeDetails.EmpID這部分的參考是錯誤的,因為您的表單上不存在 ID,或者更準確地說,它恢復了默認值。您應該獲得已保存在資料庫中的記錄的 ID:
if (userexist)
{
var emId = db.EmployeeDetails.FirstOrDefault(x => x.Name == employeeDetails.Name).EmpID;
return RedirectToAction("Details", "Register", new { id = emID });
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407645.html
標籤:
上一篇:GetType名稱、子字串和拆分
