我有這樣當我將參數值傳遞爲null時,爲什麼我得到「參數字典包含參數x的空條目」?
[HttpPost]
public ActionResult DoSearchRequestOperation(SearchRequestModelDto data)
{
//..
}
一個操作方法,當我我們這次URL字符串http://localhost:9124/Search/SearchRequest?searchRequestFor=0
,它的工作原理。但是當我使用的URL http://localhost:9124/Search/SearchRequest?searchRequestFor=
,它拋出這個異常
System.ArgumentException:參數字典包含參數空 進入「searchRequestFor」非空類型 「的xxxx.Shared.Dto.Process .Search.SearchRequestFor '的方法 'System.Web.Mvc.ActionResult SearchRequest(xxxx.Shared.Dto.Process.Search.SearchRequestFor)' 在 ' xxxx.WebServer.UI.Controllers.SearchController
如果用戶給第二個url,它應該取值0。
我試着改變下面的maproute,但那也行不通。
routes.MapRoute(
"Default1", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Dashboard", id = 0 }
);
這裏是SearchRequestModelDto類
[DataContract]
public class SearchRequestModelDto : UIBoundDto
{
public SearchRequestModelDto()
{
Criteria = new SearchRequestCriteriaDto();
SearchResult = new SearchRequestResultDto();
}
[DataMember]
public SearchRequestCriteriaDto Criteria { get; set; }
[DataMember]
public SearchRequestResultDto SearchResult { get; set; }
}
上述解決方案不工作我仍得到相同的異常SearchRequestFor類型應爲空。我將在上面添加SearchRequestModelDto類定義。 – 2012-07-09 06:09:43
是的,顯示你的'SearchRequestModelDto'類會有所幫助。 – 2012-07-09 06:11:44
SearchRequestCriteriaDto和SearchRequestResultDto在int和int中都包含很多屬性?類型。 是那些導致問題的int屬性。 – 2012-07-09 06:14:29