微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有任何函数可以将 onClick 函数传递给控制器​​

如何解决是否有任何函数可以将 onClick 函数传递给控制器​​

我创建了一个按钮来避免生成具有相同值的双数,当一个用户点击它时我会创建一个按钮,向他和其他用户显示值正在保存过程中,这样我就可以避免出现双值。 但是当我尝试在服务器端控制器上捕获它时,它显示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");
    }

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。