每當我嘗試訪問我的OrderHistory頁面時,都會收到此錯誤消息。ASP.NET MVC存儲庫和控制器錯誤
參數字典包含在「Mis324Assignments.Controllers.MusicController」參數非空類型「System.Int32」的方法「System.Web.Mvc.ActionResult歷史(的Int32)」的「ID」空條目。可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。 參數名:參數
這是我的控制器:
public ActionResult History(int Id)
{
return View(mor.GetHistory(Id));
}
這是我的倉庫:
public List<MusicHistoryModel> GetHistory(int custID)
{
using (IDbConnection db = new SqlConnection(connectString))
{
string sql = @"SELECT OI.OrderId, OI.ASIN, OI.Qty, OI.Title, OI.Artist, OI.Price, O.OrderDate
FROM tblOrders as O join tblOrderItems as OI on O.OrderId = OI.OrderId
Where O.CustId = @custID";
List<MusicHistoryModel> history = db.Query<MusicHistoryModel>(sql,new { custID }).ToList();
return history;
}
}
這是我的看法:
@model IEnumerable<Mis324Assignments.Models.MusicHistoryModel>
@{
ViewBag.Title = "History";
Layout = "~/Views/Music/_3ColLayout.cshtml";
}
<h2>Order History</h2>
@foreach (var item in Model)
{
<div class="row" style="padding:4px;">
<div class="col-md-2">
<img src="http://images.amazon.com/images//[email protected](item.ASIN).01._SCTHUMBZZZ_V1115763748_.jpg"
class='productImage' style="margin:0 0 5px 10px;" />
</div>
@item.OrderID
@item.OrderDate
@item.title
@item.artist
@item.price
@item.qty
</div>
}
這是我的ActionLink的那重定向到歷史視圖:
<form action="~/Music/History" method="post" class="enhancement">
<input type="submit" value="Order History*" /><br />
</form>
我傳遞一個int ID在我的控制器,它是使用INT ID作爲CUSTID擺脫我的倉庫信息。我不知道爲什麼錯誤信息是說我沒有通過任何東西進入int id參數
你可以分享你的視圖實現你打電話給歷史行動嗎? –
我的意思是,你的ActionLink從那裏您將會重定向到 –
歷史頁我可以簡單地失蹤了,但如果在你的形式(用行動=「〜/音樂/歷史」),你傳遞ID?這是你的整個形式嗎? – KellyMarchewa