Как установить значение по умолчанию для скрытого поля? - PullRequest
0 голосов
/ 18 октября 2018

Я работаю в проекте, который создает 2 типа пользователей: администратор и участник.Чтобы их дифференцировать, я установил значение bool , 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
}

Не нашли информацию, связанную с этим, возможно ли это или мне нужно сделать что-то еще?

1 Ответ

0 голосов
/ 19 октября 2018

Я предлагаю вам использовать этот простой способ:

вы можете использовать viewbag для этого.

В контроллере:

viewbag.Test="This is a test";

В представлении:

  <input type="hidden" id="Test" name="Test" value="@Viewbag.Test">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...