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