首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何设置隐藏字段的默认值?

如何设置隐藏字段的默认值?
EN

Stack Overflow用户
提问于 2018-10-19 00:31:59
回答 1查看 2.6K关注 0票数 0

我在一个项目中工作,创建2种类型的用户:管理员和成员。为了区分它们,我设置了一个布尔值,true => admin || false => member。

只有管理员可以创建管理员,如果匿名用户尝试创建帐户,则该字段的默认值需要为false。我在该字段中设置了一个@html.HiddenFor,但它发送了一个空值,因此模型不能保存在数据库中。

代码如下:

代码语言:javascript
复制
[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);
}

剃刀:

代码语言:javascript
复制
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.HiddenFor(model => model.Rol)

    //some inputs for the other fields
}

还没有找到与此相关的信息,有没有可能或者我需要做一些其他的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 06:38:26

我建议你使用这个简单的方法:

你可以使用viewbag来做这件事。

在控制器中:

代码语言:javascript
复制
viewbag.Test="This is a test";

在视图中:

代码语言:javascript
复制
  <input type="hidden" id="Test" name="Test" value="@Viewbag.Test">
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52878657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档