私はこのようなアクションメソッドを持っています
[HttpPost]
public ActionResult DoSearchRequestOperation(SearchRequestModelDto data)
{
//..
}
この URL 文字列http://localhost:9124/Search/SearchRequest?searchRequestFor=0
を使用すると、機能します。しかし、URLhttp://localhost:9124/Search/SearchRequest?searchRequestFor=
を使用すると、この例外がスローされます
System.ArgumentException: パラメーター ディクショナリに、メソッド 'System.Web.Mvc.ActionResult SearchRequest(xxxx.Shared. 「xxxx.WebServer.UI.Controllers.SearchController 内の Dto.Process.Search.SearchRequestFor)」
ユーザーが 2 番目の 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; }
}