我有一个非常奇怪而令人沮丧的问题
我有一个带有标准Web Api控制器的控制器
<input
type="checkbox"
checked={ui_store.final_social_media_site_selections[social_media_site]}
name={social_media_site}
className={ checkbox_style }
onChange={() => ui_store.reverse_checkbox_state(social_media_site)}
/>
当我使用参数调用方法
[Route("Gateway/[Controller]/[action]")]
public class MyController: Controller
{
public MyController()
{
}
[ActionName("MyMethod")]
[System.Web.Http.HttpGet]
public async Task<IActionResult> MyMethodAsync(int numberParam, DateTime? startDate, DateTime? endDate)
{
var parameters = $"numberParam={numberParam}";
if (startDate != null)
{
parameters += $"&startDate={startDate.Value:O}";
}
if (endDate != null)
{
parameters += $"&endDate={endDate.Value:O}";
}
//My logic here - not relevant for question
return result;
}
}
endDate为空
这是为什么?
没有错误,我不知道为什么第二个参数被忽略
这与日期格式无关吗?
我不需要时间
使用完整网址(例如http://mysite/GatewayController/MyMethod?numberParam=1&startDate=01/01/2018&endDate=31/01/2018
)时会发生这种情况我也通过HttpClient调用它,这也不起作用
?numberParam=1&startDate=01/01/2018&endDate=31/01/2018
保罗
答案 0 :(得分:1)
通过将“ /”替换为“-”来创建不含特殊字符“ /”的网址 ?numberParam = 1&startDate = 01-01-2018&endDate = 31-01-2018
或 对特殊字符进行编码,
https://www.w3schools.com/jsref/jsref_encodeURI.asp https://www.w3schools.com/jsref/jsref_encodeURIComponent.asp