我有一个下拉列表和一些我应该扔进数据库的信息,
现在给我一个错误:
名称' ddlRoles'在当前上下文中不存在
我的代码: - brugere.fk_role是我需要得到的"去"到数据库。
KontoController.cs
brugere.Fk_role = Convert.ToInt32(ddlRoles);
Opret.cshtml
@Html.DropDownList("ddlRoles",
new SelectList(Model.Roles, "Id", "Name"), "Vælg",
new { @class = "form-control input-lg" })
怎么可能需要"我的"值进入kontocontroller.cs
这样我必须拥有从下拉到数据库的值,所以我只会说出来并查看/进入数据库。
EIDT UPDATE!
Kontocontroller.cs
// GET: Konto/Opretbruger
public ActionResult Opret()
{
Opret newopret = new Opret();
newopret.User = new User();
newopret.Sexs = db.Sexes.ToList();//henter de to "køn"
newopret.Roles = db.Roles.Where(z => z.id >= 6).ToList();//Tag to alle "ranks" efter id 6 eller =
newopret.Professionals = db.Professionals.ToList(); //Hvilke slags hjælp kan man få
newopret.Areas = db.Areas.ToList();//hvilke område kommer man fra
return View(newopret);//viser indhold frem på siden.
}
//opret brugere i databasen i user tablen. Det er de oplysning database skal have ind i første om gang.
//Det vil sige at den skal lige det ind i databasen
[HttpPost]
public ActionResult CreateUsers(OpretBrugere brugere)
{
if (ModelState.IsValid)
{
//Tjekker op på om der findes en brugere med den email.
var CreateAnAccount = db.Users.FirstOrDefault(b => b.Email == brugere.Email);
if(CreateAnAccount != null)
{
brugere.Email = hello; //<--- Information fra textbox here
brugere.PasswordHash = hello; //<--- Information fra textbox here
brugere.FirstName = hello; //<--- Information fra textbox here
brugere.LastName = hello; //<--- Information fra textbox here
//true - False
brugere.Newsletter = hello; //<--- Information fra checkbox here
brugere.Fk_role = Convert.ToInt32(ddlRoles); //Det er her problemet e rb
brugere.Fk_sex = Convert.ToInt32(ddlSexs);
brugere.Fk_area = Convert.ToInt32(ddlAreas);
brugere.Fk_professional = Convert.ToInt32(ddlProfessionals);
//age
brugere.age = hello; //<--- Information fra textbox her
//img users
brugere.img = "userimg.png";
brugere.creatadate = DateTime.Now;
//Skal finde ud af hvilke role man har valgt,
if(brugere.Fk_role == 6)
{
//Hvis man er Mentor, skal man ikke have adgang til siden endnu!
brugere.Approved = false;
}
else
{
//Er man Alm brugere eller Forældre så har man adgang til site.
brugere.Approved = true;
}
//skal lige indhold ind i databasen.
db.Users.InsertOnSubmit(brugere);
//skal gemme indholdet.
db.SubmitChanges(); // save
//sende person til log in siden.
}
else
{
//Fremviser en fejl besked hvis der findes en email.
ViewBag.MessageError = "Denne brugere findes i vores system.";
}
}
//return indhold til siden.
return View();
}
答案 0 :(得分:0)
正在创建您的下拉框,其中包含您的模型中不存在的ID /名称(OpretBrugere
)。 ddlRoles
甚至无法定义(您已经展示过),因此代码甚至无法编译。
您可能想要添加一个&#34;所选角色&#34;属性到您的模型,并将下拉列表绑定到它,以便与发布数据一起发送。
添加到OpretBrugere
:
public string SelectedRole { get; set; }
然后在视图中更改下拉列表的渲染:
@Html.DropDownListFor(m => m.SelectedRole,
new SelectList(Model.Roles, "Id", "Name"), "Vælg",
new { @class = "form-control input-lg" })
然后在你的帖子中:
brugere.Fk_role = Convert.ToInt32(brugere.SelectedRole);