我有一个像这样的 Action 方法
[HttpPost]
public ActionResult DoSearchRequestOperation(SearchRequestModelDto data)
{
//..
}
当我使用这个 url 字符串http://localhost:9124/Search/SearchRequest?searchRequestFor=0
时,它可以工作。但是当我使用 url 时http://localhost:9124/Search/SearchRequest?searchRequestFor=
,它会抛出这个异常
System.ArgumentException:参数字典包含方法“System.Web.Mvc.ActionResult SearchRequest(xxxx.Shared. 'xxxx.WebServer.UI.Controllers.SearchController 中的 Dto.Process.Search.SearchRequestFor)'
如果用户提供第二个 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; }
}