【问题标题】:Model Binding using ASP.NET MVC, getting datainput to the controller使用 ASP.NET MVC 的模型绑定,将数据输入到控制器
【发布时间】:2010-04-29 12:52:08
【问题描述】:

这里是非常基本的一个。

我有一个视图,其中包含 2 个用于输入的文本字段和一个提交按钮

<%using (Html.BeginForm("DateRetrival", "Home", FormMethod.Post)){ %>    
<%=Html.TextBox("sday")%>  
<%=Html.TextBox("eday")%>
<input type="submit" value="ok" id="run"/>
<% }%>

下面我要绑定数据输入的控制器动作如下

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult DateRetrival()
    {
        return View();
    }


    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string submit)
    {


        return null;
    }

当我调试它并查看操作方法参数时,该值为空。当我在两个文本框中输入值并单击提交方法时。

【问题讨论】:

    标签: asp.net-mvc binding model controller


    【解决方案1】:

    你可能想做这样的事情:

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult DateRetrival(string sday, string eday)
        {
    
            return null;
        }
    

    理想情况下,尽管您可能希望将模型传递给您的控制器:

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult DateRetrival(DateModel dates)
        {
            var date1 = dates.sday;
            var date2 = dates.eday;
            return null;
        }
    

    http://msdn.microsoft.com/en-us/library/dd394711.aspx

    【讨论】:

      【解决方案2】:

      添加参数以捕获每个输入字段值。

      [AcceptVerbs(HttpVerbs.Post)]
      public ActionResult DateRetrival(string sday, string eday)
      {
          return null;
      }
      

      【讨论】:

        【解决方案3】:

        试试:

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult DateRetrival(string sday, string eday, string submit)
        {
            return null;
        }
        

        如果你想要 sumbit 按钮值

        <input type="submit" value="ok" id="run" name="submit"/>
        

        如果您想发布价值,则必须设置name 属性。 Html.TextBox 自动根据参数设置名称。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多