[英]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.