im在一个项目中工作,该项目创建两种类型的用户:admin和member。为了区分它们,我设置了一个 bool 值, true => admin || false =>成员。
只有管理员可以创建管理员,如果匿名用户尝试创建帐户,则该字段的默认值需要为 false 。我在该字段中设置了 @ html.HiddenFor ,但是它发送的是空值,因此无法将模型保存在数据库中。
这是代码:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Registro(
[Bind(Include="Id,Login,Pass,Nombre,Apellido,Rol")]Usuario objUser)
{
//somecode
var errors = ModelState.Values.SelectMany(v => v.Errors);
//error shows the null 'rol' parameter
if (ModelState.IsValid)
{
db.Usuario.Add(objUser);
db.SaveChanges();
return RedirectToAction("Login");
}
return View(objUser);
}
剃刀:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.Rol)
//some inputs for the other fields
}
未找到与此相关的信息 有可能还是我需要做其他事情?
答案 0 :(得分:1)
我建议您使用这种简单的方法:
您可以使用Viewbag来做到这一点。
在控制器中:
viewbag.Test="This is a test";
在视图中:
<input type="hidden" id="Test" name="Test" value="@Viewbag.Test">