Не удается получить параметр из моего текстового поля в HTML - PullRequest
0 голосов
/ 30 июня 2018

Привет, я сейчас работаю на странице, где вы вводите идентификатор человека, и, если его нет в системе, он отправляет вас в Create, чтобы вы могли зарегистрироваться. Однако

[HttpPost]
public ActionResult ingresarSolicitante(int? id)

не получает идентификатор, даже если я изменяю его на строку и текстовое поле, я не могу получить значение. Есть идеи?

вот HTML

@model Entrega02Programacion03.Models.Solicitante
@{
    ViewBag.Title = "ingresarSolicitante";
}

<h2>ingresarSolicitante</h2>

<div>

    @using (Html.BeginForm())
    {
        <p>
            Buscar Solicitante por celuda: @Html.TextBox("Cedula")<br />
            <input type="submit" value="Filtrar" />
        </p>
    }

</div>

а вот код на контроллере

[HttpPost]
public ActionResult ingresarSolicitante(string id)
{     
    // busco el solicitante
    Solicitante solicitante = db.Solicitante.Find(id);
    //si exite voy a crear expediente
    if (solicitante != null) 
    {
        TempData["solicitante"] = solicitante;
        return RedirectToAction("InformeSolicitante");
    }
    // si no me redirije a crear solicitante
    else
    {
        return RedirectToAction("Create");
    }

}

// GET: Solicitantes/Edit/5
public ActionResult Edit(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    Solicitante solicitante = db.Solicitante.Find(id);
    if (solicitante == null)
    {
        return HttpNotFound();
    }
    return View(solicitante);
}

Я не знаю, что не так с идентификатором строки в этом методе, который я всегда получаю нулевым.

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Ваша HTML-страница является PageModelBase, и вы можете получить свой Id из этого. Или, другими словами, поместите этот идентификатор в TextBox как:

@model Entrega02Programacion03.Models.Solicitante
@{
    ViewBag.Title = "ingresarSolicitante";
 }

 <h2>ingresarSolicitante</h2>

 <div>

@using (Html.BeginForm())
{
    <p>
        Buscar Solicitante por celuda: @Html.TextBox(Model.Id)<br />
        <input type="submit" value="Filtrar" />
    </p>
}

Если вы сделаете это, вы можете установить и получить данные из HTML и в HTML

0 голосов
/ 30 июня 2018

изменить имя текстового поля @ Html.TextBox ("Cedula") на @ Html.TextBox ("id")

или измените имя параметра вашего метода действия на Cedula

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...