【问题标题】:How to pass multiple input text value to method in controller如何将多个输入文本值传递给控制器​​中的方法
【发布时间】:2021-02-19 09:23:27
【问题描述】:

我有 3 个文本框,我想将输入的值发送到控制器方法

<input class="form-control" type="text" id="id" name="id">
<input class="form-control" type="text" id="id1" name="id1">
<input class="form-control" type="text" id="id2" name="id2">

@Html.ActionLink("Send", "MethodNameInController", "ColtrollerName", new { id= $('#id').val(), 
id1= $('#id1').val(), id2= $('#id2').val()})

在控制器中 公共 ActionResult MethodNameInController(int id, string id1, string id2) { //这里有一些文字 }

但它发送的是空值

【问题讨论】:

    标签: javascript html jquery model-view-controller


    【解决方案1】:

    如果您想留在同一视图上或之后重定向到另一个 url,而不是使用 @Html.ActionLink(),请尝试使用 ajax 调用将值传递给控制器​​。

    function submitAjax(){
    
            //purely for readability
            var id = $('#id').val();
            var id1 = $('#id1').val();
            var id2 = $('#id2').val();
    
            //ajax call
            $.ajax({
            url: "/ControllerName/MethodNameInController",
            data: { id: id, id1: id1, id2: id2 },
            success: function (result) {
                //handle something here
            }
        });
    };
    <input class="form-control" type="text" id="id" name="id">
    <input class="form-control" type="text" id="id1" name="id1">
    <input class="form-control" type="text" id="id2" name="id2">
    
    <button type="button" onclick="submitAjax()">submit</button>

    如果该方法进行了一些处理,然后将您返回到不同的视图,您可以进行表单提交。

    function submitForm(){
          var $form = $("#idForm");
          //optional validation
          
          $form.submit();
    };
    <form id="idForm" class="form-horizontal" asp-controller="ControllerName" asp-action="MethodNameInController" >
      <input class="form-control" type="text" id="id" name="id">
      <input class="form-control" type="text" id="id1" name="id1">
      <input class="form-control" type="text" id="id2" name="id2">
    
      <!-- type="button" prevents the from from submitting so you can do validation checks in the js -->
      <button type="button" onclick="submitForm()">submit</button>
    </form>

    【讨论】:

      【解决方案2】:

      我得到了使用ajax的解决方案只是想知道有没有直接的解决方案

      $(function () {
          $('#receipt').unbind('click');
          $('#receipt').on('click', function () {
              $.ajax({
                  url: "/Controller/Method",
                  type: 'POST',
                  contentType: "application/json; charset=utf-8",
                  dataType: 'json',
                  data: JSON.stringify({
                      fromDate: $("#fromDate").val(),
                      toDate: $("#toDate").val(),
                      id: $("#id").val()
                      
                  }),
                  async: false
              });
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-10
        • 1970-01-01
        • 2019-11-01
        • 1970-01-01
        • 2015-12-18
        相关资源
        最近更新 更多