Javascript 使用MVC将评论从HTML发布到列表中的C#model

Javascript 使用MVC将评论从HTML发布到列表中的C#model,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,我试过几种修复方法,但似乎不合适。我正在创建一个帖子和评论部分类,这些类会出现在主页上。我想允许最终用户添加评论。我使用的是MVC5,目前页面会加载帖子和旧评论 但是,我尝试在客户端使用onclick方法连接到服务器端。然后在javascript中,我尝试使用对ajax的调用来发送对c#方法位置的调用。按钮似乎甚至没有意识到它正在被点击。我在主页上嵌套了post分部类。代码如下 发布视图 @model IEnumerable<MVC_5_Skeleton1.Models.Post>

我试过几种修复方法,但似乎不合适。我正在创建一个帖子和评论部分类,这些类会出现在主页上。我想允许最终用户添加评论。我使用的是MVC5,目前页面会加载帖子和旧评论

但是,我尝试在客户端使用onclick方法连接到服务器端。然后在javascript中,我尝试使用对ajax的调用来发送对c#方法位置的调用。按钮似乎甚至没有意识到它正在被点击。我在主页上嵌套了post分部类。代码如下

发布视图

@model IEnumerable<MVC_5_Skeleton1.Models.Post>
<ul class="mylist">
@{
    @Html.AntiForgeryToken()
    if (Model.Any())
    {
        foreach (var item in Model)
        {        
            @Html.TextBoxFor(model => item.newComment, "NewComment", htmlAttributes: new { @class = "form-control-inline", placeholder = "Who are you" })
            <button type="button" class="btn btn-success btn-block" onclick="AddToCart(@item.newComment)">Post</button>                              
        }
    }

在ajax函数中,添加此参数

type: "POST",

通过
(string comment)

重命名控制器操作中的
(string M)
,如果在javascript中的$.ajax或console.log(“blah”)之前放置断点,它会被命中吗?当页面加载时,我会得到一个带有console.log的输出。但是,在单击按钮时不会。另外,当我点击按钮时,断点甚至没有停止。你能用你正在输出的按钮代码发布呈现的html吗。另外,在页面加载时不应该点击该函数中的console.log,除非在页面加载时调用该方法……不清楚您在这里尝试做什么
onclick=“AddToCart(@item.newComment)
只会发送
newComment
的初始值(不是任何编辑的值),所以您所要做的就是发回原始值(重点是什么)。那么
返回M()是什么呢
?您返回一个名为
comment
的值,但方法中的参数名是
String M
,而不是
String comment
,因此
M
将始终为
null
它现在运行到ajax,但不运行到控制器方法。好了,它现在工作了……我聪明的大脑忘记了控制器是not“名称”-控制器只是名称,无需遵循控制器
[HttpPost]
public ActionResult GetTest(String M)
{
    return M();
}
type: "POST",