[英]Object reference not set to an instance of an object, parameter is null
我在将参数从视图传递给控制器时遇到问题
我认为这段代码片段:
<a class="btn-simple" onclick="submitDetails('Dashboard', 'Cancel', '<%=Model.Data.Id %>', $('form'));">save</a>
这是从我的控制器来的:
[HttpPost]
public ActionResult Cancel(string id, FormCollection collection)
{
var appt = Application.Session.GetObjectFromOid<Appointment>(new ObjectId(id));
}
我收到一个错误消息,说“ id”为空,但是当我在视图中测试Model.Data.Id时,它不为空。
这是我的submitDetails函数:
function submitDetails(controller, method, id, form) {
form.ajaxSubmit({ target: '#itemdetails' });
}
我要完成的工作是从视图中的按钮返回到控制器,该按钮最初是调用该视图的方法的“ [HttpPost]”版本
确保您提交的表单包含带有ID的隐藏字段,或者将其作为查询字符串参数传递:
<% using (Html.BeginForm("Dashboard", "Cancel", new { id = Model.Data.Id })) { %>
...
<% } %>
或者,如果您想传递动态网址,则可以执行以下操作:
<a class="btn-simple" onclick="submitDetails('<%= Url.Action("Dashboard", "Cancel", new { id = Model.Data.Id }) %>', $('form'));">save</a>
接着:
function submitDetails(url, form) {
form.ajaxSubmit({ url: url, target: '#itemdetails' });
}
更新:
并且,如果您想避免使用submitDetails
javascript方法,而将锚作为表单的“提交”按钮:
<% using (Html.BeginForm("Dashboard", "Cancel", new { id = Model.Data.Id })) { %>
...
<button class="btn-simple" type="submit">save</button>
<% } %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.