我在一个项目中工作,创建2种类型的用户:管理员和成员。为了区分它们,我设置了一个布尔值,true => admin || false => member。
只有管理员可以创建管理员,如果匿名用户尝试创建帐户,则该字段的默认值需要为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
}
还没有找到与此相关的信息,有没有可能或者我需要做一些其他的事情?
发布于 2018-10-19 06:38:26
我建议你使用这个简单的方法:
你可以使用viewbag来做这件事。
在控制器中:
viewbag.Test="This is a test";
在视图中:
<input type="hidden" id="Test" name="Test" value="@Viewbag.Test">
https://stackoverflow.com/questions/52878657
复制相似问题