Javascript 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮

Javascript 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮,javascript,ajax,asp.net-mvc,razor,twitter-bootstrap-3,Javascript,Ajax,Asp.net Mvc,Razor,Twitter Bootstrap 3,我有一个通过ajax调用局部视图的视图。部分视图有一个包含在另一个ajax表单中的表。每行包含两个提交按钮,我希望将其映射到两个不同的操作,即保存和删除。但是,当我提交任何一个按钮时,都不会向控制器传递任何数据。字符串submitAction和ProjectComment ProjectComment不包含表单中的数据注释数据。我有以下代码: MyView: Index.cshtml @model MyProject.Areas.MyComments.Models.ProjectComment

我有一个通过ajax调用局部视图的视图。部分视图有一个包含在另一个ajax表单中的表。每行包含两个提交按钮,我希望将其映射到两个不同的操作,即保存和删除。但是,当我提交任何一个按钮时,都不会向控制器传递任何数据。
字符串submitAction
ProjectComment ProjectComment
不包含表单中的数据注释数据。我有以下代码:

MyView:

Index.cshtml

@model MyProject.Areas.MyComments.Models.ProjectComment

@using (Ajax.BeginForm("Details", null,
new AjaxOptions
{
     HttpMethod = "POST", // HttpPost
     InsertionMode = InsertionMode.Replace, // empty the target first
     UpdateTargetId = "commentTbl" // place content within #commentTbl
}, new { @class = "form-inline" }))
{
     @Html.AntiForgeryToken()
     <p>...</p>
     <div class="ibox float-e-margins">...</div>
}
<div id="commentTbl">...Partial View is loaded here...</div>

请帮助解决我的错误。

修改按钮名称以匹配参数名称。例如:

您的代码:

<button type="submit" id="save" class="btn btn-primary" name="Save" value='@i'>Save</button>
<button type="submit" id="delete" class="btn btn-primary" name="Delete" value='@i'>Delete</button>
保存
删除
它应该是什么:

<button type="submit" id="save" class="btn btn-primary" name="submitAction" value='Save'>Save</button>
<button type="submit" id="delete" class="btn btn-primary" name="submitAction" value='Delete'>Delete</button>
保存
删除

我修改了名称以匹配您的参数名称和您在控制器中接受的值。提交表单时,您现在将把值传递给参数。

修改按钮名称以匹配参数名称。例如:

您的代码:

<button type="submit" id="save" class="btn btn-primary" name="Save" value='@i'>Save</button>
<button type="submit" id="delete" class="btn btn-primary" name="Delete" value='@i'>Delete</button>
保存
删除
它应该是什么:

<button type="submit" id="save" class="btn btn-primary" name="submitAction" value='Save'>Save</button>
<button type="submit" id="delete" class="btn btn-primary" name="submitAction" value='Delete'>Delete</button>
保存
删除

我修改了名称以匹配您的参数名称和您在控制器中接受的值。提交表单时,您现在将把值传递给参数。

谢谢,提交操作正确通过,但
ProjectComment-ProjectComment
仍然为空。我甚至尝试将
[Bind(Include=“Comment”)]
添加到
Update
中,但它仍然是空的。将projectcomment传递到Save方法或Update方法时是否遇到问题。你能成功地将projectcomment添加到你的更新方法中吗?事实上我找到了答案。在我的
@foreach
循环中,我将
var项
重命名为
var projectcomment
,它工作得非常好。谢谢谢谢,提交操作正确通过,但
ProjectComment ProjectComment
仍为空。我甚至尝试将
[Bind(Include=“Comment”)]
添加到
Update
中,但它仍然是空的。将projectcomment传递到Save方法或Update方法时是否遇到问题。你能成功地将projectcomment添加到你的更新方法中吗?事实上我找到了答案。在我的
@foreach
循环中,我将
var项
重命名为
var projectcomment
,它工作得非常好。谢谢