【问题标题】:how to pass Html.TextBox to controller?如何将 Html.TextBox 传递给控制器​​?
【发布时间】:2010-01-14 16:34:15
【问题描述】:

可能就是这么简单。但是,我很难弄清楚。

我有一个具有不同操作的控制器,它调用数据库代码并返回结果。我想将文本框的值传递给控制器​​中的不同操作。

怎么做?我知道,我可以使用表单传递值。但是,我不知道如何在单个视图中调用控制器中的不同操作。

【问题讨论】:

    标签: controller html.textbox


    【解决方案1】:

    刚刚遇到同样的问题并对其进行了排序。 Html.TextBox 中字符串参数的名称必须与控制器方法中的参数匹配,否则控制器中的参数最终为空。示例:

    在视图中-

    <%= Html.TextBox("value") %> // argument is named "value"
    

    控制器方法-

    [HttpPost]
    public ActionResult ControllerName(string value) // parameter named the same as argument
    { //code here }
    

    【讨论】:

      【解决方案2】:

      我不确定您使用的是什么语言或框架,但在 ASP.NET MVC 中,输入控件 ID 映射到操作参数,所以如果您有一个文本框:

      <input type="text" name="firstName" id="firstName/>
      

      然后,当该表单发布到您的操作时,框架通过将 POST 数据与操作参数匹配来传递文本框的值:

      public ActionResult UpdateUser(string firstName)
      {
        User user = UserManager.UpdateUser(this.CurrentUserId, firstName);
        return View(user);
      }
      

      【讨论】:

      • 对不起。我正在使用 MVC。如果我使用表单,那么我不确定如何从同一视图调用不同的操作。
      【解决方案3】:

      我正在浏览并发现了这个问题。如果这些选项不起作用,也许您可​​以尝试

      Requst["value"] 
      

      在你的控制器中

      【讨论】:

        猜你喜欢
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-22
        相关资源
        最近更新 更多