【问题标题】:Is there any function to pass onClick function to controller是否有任何功能可以将 onClick 功能传递给控制器
【发布时间】:2021-01-07 12:28:39
【问题描述】:

我创建了一个按钮以避免生成具有相同值的双精度数,并且当一个用户单击它以向他和其他用户显示值正在保存过程中时,我创建了一个按钮,因此我可以避免该双精度值。 但是当我尝试在服务器端控制器上捕获它时,它显示在Inspect element->Network->Status 302 -> POST -> FILE (GenerateCodes) 中。

   @using (Html.BeginForm("GenerateCodes", "Codes", FormMethod.Post))
   {
  <div class="box-header">
  <div class="row">
  <div class="col-md-3 text-right">
  <!--Disable button for about 3 second after click button-->
   <button type="submit" id="ok"  class="btn btn-primary btn-lg" onclick="return DisplayProgressMessage(this, 'Saving...');">Generate</button>
   <script>
   function DisplayProgressMessage(ctl, msg) {
   $(ctl).prop("disabled", true);
   $(ctl).text(msg);
   return true;
   }
   </script>
  </div>
  </div>
  </div>
  }

我的 Codes.cs 控制器。

    protected void DisplayProgressMessage(object sender, EventArgs e)
    {
    //Something
    Response.Write("DD");
    }

【问题讨论】:

    标签: javascript c# ajax asp.net-mvc


    【解决方案1】:

    控制器中的方法名称需要为“GenerateCodes”以匹配 Html.BeginForm() 辅助方法中的操作。此外,方法中的参数需要是 .cshtml 视图中的模型,或者如果您不使用视图中的模型,则不需要参数。最后,您需要在控制器中的方法上添加一个 HttpPost 属性,让它知道您正在向该方法发布表单。

    [HttpPost]
    public IActionResult GenerateCodes()
    {
        //Do Something
    }
    

    【讨论】:

    • 我已经在我的控制器中定义了GenerateCodes,我用它来保存数据库和其他东西中生成代码的值。
    猜你喜欢
    • 2019-12-27
    • 2017-02-24
    • 2020-10-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多