2010-08-24 56 views
0

我正在使用MVCContrib網格。我的控制器操作接受3個參數,網格的sortoptions和paging參數以及ResourceID參數,該參數指定要查看其出價的資源。MVCContrib Grid和nun-nullable參數

當我點擊的鏈接,我得到以下錯誤

參數字典包含參數爲非可空類型「System.Int32」的「RESOURCEID」的方法「的System.Web空項。 「TaskingApp.Controllers.BidController」中的Mvc.ActionResult ByResource(Int32,MvcContrib.UI.Grid.GridSortOptions,System.Nullable`1 [System.Int32])'。可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。

如何正確傳遞ResourceId參數?

這裏是我的控制器行動

//Get bids by resource 
    public ActionResult ByResource(int ResourceId,GridSortOptions sort, int? page) 
    { 
     var bids = bidRepo.GetUpcomingBidsByResource(ResourceId); 

     if (sort.Column != null) 
      bids = bids.OrderBy(sort.Column, sort.Direction); 
     ViewData["sort"] = sort; 
     return View("Index", bids.AsPagination(page ?? 1, 15)); 

    } 

而這裏的ActionLink的

<%= Html.ActionLink(item.ResourceName, "ByResource", new { id = item.ResourceID })%> 

回答

0

指定的屬性必須與控制器的屬性名相匹配:

new { ResourceId = item.ResourceID } 

也就是說,或者改變你的方法簽名如下:

ByResource(int id, GridSortOptions sort, int? page) 
+0

好點,我已經改變了它,但它沒有解決問題。 – MrBliz 2010-08-24 13:44:06

+0

單擊操作鏈接時出現錯誤? – GenericTypeTea 2010-08-24 13:46:00

+0

按照你的第二個建議工作後,我也剛剛意識到你的第一個建議也可以工作,如果我正確地遵循了它,所以請忽略我以前的評論 – MrBliz 2010-08-24 13:47:23

相關問題