无法调用控制器的HttpPost方法

塔努

我正在尝试实现以下方案。创建一个网页,用户可以在评论文本区域中输入他/她的评论,然后单击“提交”按钮,该网页应将电子邮件发送到客户的电子邮件地址,然后新的视图应加载显示用户建议的消息已发送给客户。

在我的asp.Net MVC应用程序中,我创建了一个控件,并添加了一个名为[SuggestionMessage“的[HttpGet]和[HttpPost]方法。Get方法加载视图以显示建议的形式。问题是在提交按钮上单击,我的httpPost方法未实现!

  [HttpGet]
        public ActionResult SuggestionMessage()
        {
        //this view will load the suggestion form
            return View();
        }

        [HttpPost]
        public ActionResult SuggestionMessage(string content)
        {
        //Code to send email
        //below view will display the message that the user's
        //suggestion have been sent to client.
           return View();
        }

这是我的建议表

@{
    ViewBag.Title = "Suggestions";
}

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Suggestions</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
    <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>

    <style>
        body {
            font: 20px Montserrat, sans-serif;
            line-height: 1.8;
            color: #000000;
        }

        p {
            font-size: 16px;
        }

        .margin {
            margin-bottom: 25px;
        }

        .margin-1 {
            margin-bottom: 5px;
        }

        .bg-1 {
            background-color: #23F0E4; /* Aqua */
            color: #ffffff;
        }

        .container-fluid {
            padding-top: 70px;
            padding-bottom: 70px;
            padding-left: 0px;
            padding-right: 0px;
        }

    </style>

</head>
<body>
    <div class="container-fluid">
        @using (Html.BeginForm())  
        {
        <form>
            <div class="form-group">
                <label for="comment">Comment:</label>
                <textarea class="form-control" rows="5" id="comment"></textarea>
            </div>
            <div>
                <button  class="btn-primary" id="btnSubmit">Submit</button>
            </div>

        </form>
    }
        </div>
</body>
</html>
杰丁·贤哲

您的代码指示了两种形式,这可能会弄混“提交”按钮,并且正在提交没有任何动作属性的额外表单标签;

@using (Html.BeginForm())  
{
   <form>
      ...
   </form>
}

不要忘记在表单字段中添加名称属性,我注意到textarea中不包含名称属性use。

<textarea name="content" class="form-control" rows="5" id="comment"></textarea>

您的按钮也没有type = submit属性,以确保它可以提交,使用;

<button type="Submit" class="btn-primary" id="btnSubmit">Submit</button>

@Html.BeginForm已经使用<form>标签将元素封装在其中,并且会自动发布到相同的控制器和动作名称,因此只需使用;

// just remove the extra form tag inside Html.BeginForm()

@using (Html.BeginForm())  
{
  <div class="form-group">
     label for="comment">Comment:</label>
     <textarea name="content" class="form-control" rows="5" id="comment"></textarea>
  </div>
  <div>
     <button type="Submit" class="btn-primary" id="btnSubmit">Submit</button>
  </div>
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

控制器中的HttpPost函数未调用

来自分类Dev

无法从调用异步方法的控制器返回ActionResult

来自分类Dev

无法通过指令调用父控制器方法

来自分类Dev

我无法从控制器静态调用Laravel Cart方法

来自分类Dev

无法从控制器中的ApplicationHelper模块调用方法

来自分类Dev

无法使用Ajax调用控制器操作方法

来自分类Dev

会话方法无法在控制器中调用2次

来自分类Dev

LARAVAL - 无法在控制器方法中调用函数

来自分类Dev

Url.Action 无法调用控制器方法

来自分类Dev

从子控制器调用父控制器的方法

来自分类Dev

从子控制器调用父控制器的方法

来自分类Dev

在MVC的控制器中将参数传递给httpPost方法

来自分类Dev

AJAX无法调用弹簧控制器

来自分类Dev

即使在控制器中调用方法,模型也无法接收来自方法的调用

来自分类Dev

父控制器上的调用方法?

来自分类Dev

从MVC控制器调用异步方法

来自分类Dev

控制器方法#show被调用

来自分类Dev

控制器内的调用方法

来自分类Dev

从角度控制器调用Webview方法

来自分类Dev

从Rails中的控制器调用方法?

来自分类Dev

控制器方法从未调用过?

来自分类Dev

在Angular上调用控制器方法

来自分类Dev

Rails调用方法控制器与模型

来自分类Dev

包:从多个控制器调用方法

来自分类Dev

链接并调用控制器方法

来自分类Dev

控制器方法未调用

来自分类Dev

在控制器内调用方法模型

来自分类Dev

从MVC控制器调用异步方法

来自分类Dev

从控制器调用指令方法