繁体   English   中英

我无法在我的控制器MVC中获得文本框的值

[英]I can not get the value of a textbox in my controller MVC

*你好我有很长时间尝试它,我没有得到任何结果,我的问题是下一个:在我的控制器上我不能得到文本框的值,但如果我把表单和文本框放出循环我得到了值。*

**这是我的观点:**

@for (int r = 0; r <= Model.Count-1;r++)
{
    i = i + 1;

    <tr>

         @using (Html.BeginForm("Result","Ruta", new { ruta=Model [r].descrip ,ficha =Model [r].ficha }, FormMethod.Post))
         {
             if (i == 1)
             {
            @Html.TextBox("FechaInicio")

             }

        <td>
            @Html.DisplayFor(modelItem => Model[r].ruta)


        </td>
        <td>
            @Html.DisplayFor(modelItem => Model[r].descrip)
        </td>
        <td>
            @Html.DisplayFor(modelItem => Model[r].ficha)

        </td>

        <td>
        <input type="Submit" value="Consultar" style=" height :20px;  font-size:12px; "/>





        </td>

         }
    </tr>

我的控制器:

 [HttpPost]
        public ActionResult Result(string ficha, string ruta)
        {

            Utility.Fecha1 = Request.Form ["FechaInicio"];
           if (string.IsNullOrEmpty(ficha) || string.IsNullOrEmpty(ruta) || string                      .IsNullOrEmpty ( Utility .Fecha1) )
            {
                return RedirectToAction("FichaConduces", "Ruta", new { ficha = ficha, ruta = ruta,fecha=Utility .Fecha1 });



            }
            else
            {
                return View("index");
            }

}

你为什么不这么简单?

基于视图模型创建视图,并在视图中为视图模型的字段创建文本框,然后您可以轻松地从表单中获取所需的值。

而且,当你创建文本框时,它应该是@Html.TextBoxFor(....)

例如ViewModel

public class MyViewModel
{
   public string MyField1{get; set;}
   public string MyField2{get; set;}

}

然后在控制器的HttpGet中

[HttpGet]
public ActionResult MyControllerAction()
{
   var myViewModel = new MyViewModel();
   return View(myViewModel);
}

在视野中

@model MyViewModel
@using(Html.BeginForm("Action","Controller",FormMethod.Post))
{
   @Html.TextBoxFor(m=>m.MyField1)
   ....
}

控制器的HttpPost

[HttpPost]
public ActionResult MyControllerAction(MyViewModel myViewModel)
{
  //do whatever you want
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM