Javascript 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
我有一个通过ajax调用局部视图的视图。部分视图有一个包含在另一个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
字符串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
,它工作得非常好。谢谢