我可能有一个蹩脚的问题,但我在一个Url中路由多个控制器时遇到了一些麻烦.所以我的问题是如何使用这样的网址:
GET http://foo.com/API/Devices/2/Parameters/2
Run Code Online (Sandbox Code Playgroud)
最终device
,parameters
所有控制器和数字都是ID.我有每个控制器,但如何处理它们,将它们路由到适当的控制器?
任何方向看?
更新:
只是为了澄清我最终使用的解决方案并遵循以下答案.
路由代码段:
config.Routes.MapHttpRoute(
name: "DeviceCommandsControllerHttpRoute",
routeTemplate: "api/devices/{deviceId}/commands/{id}",
defaults: new { controller = "devicecommands", id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
控制器片段:
[HttpGet]
public DeviceCommand GetById(int id, int deviceId)
{ ... }
Run Code Online (Sandbox Code Playgroud)
最后是网址:
GET http://localhost:49479/api/Devices/2/Commands/1
Run Code Online (Sandbox Code Playgroud) 我们正在使用CustomPlaces
Open/SaveFileDialog 的属性向用户显示他们可以使用的各种配置的标准文件夹。
我们现在想要的是让InitialDirectory
属性指向创建的CustomPlaces
“文件夹”。有没有人能够做到这一点?
我已经阅读了有关FileDialog类(以及子序列 OpenFileDialog 和 SaveFileDialog)、InitialDirectory属性、Environment.SpecialFolder枚举器和KNOWNFOLDERID列表的 MSDN 文章,但都无济于事。
我还尝试将InitialDirectory
属性设置为应用程序的名称,以防万一这很神奇。
用于 OpenFileDialog 的代码(目录是 demos atm):
using (OpenFileDialog tempDiag = new OpenFileDialog())
{
tempDiag.CustomPlaces.Add(@"C:\Temp\");
tempDiag.CustomPlaces.Add(@"C:\Program Files\");
tempDiag.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
调用时所需的默认选择tempDiag.ShowDialog();
:
我知道可以通过这篇CodeProject文章中描述的方法完全自定义 XOpenDialog ,但我觉得这对于此时的默认选择来说有点极端。
示例JSON:
[{"steward":"EMPL-0102","description":"Elish Guage","emplyear":"2001","emplmonth":"Nov","empl":"HOME","perhour":"50"},
{"steward":"EMPL-9002","description":"Bush Harcourt","emplyear":"1990","emplmonth":"Nov","empl":"HOME","perhour":"50"},
{"steward":"EMPL-0102","description":"John Long","emplyear":"2001","emplmonth":"Nov","empl":"OFFICE","perhour":"50"},
{"steward":"EMPL-9002","description":"Wensel Gold","emplyear":"1990","emplmonth":"Nov","empl":"OFFICE","perhour":"50"}]
Run Code Online (Sandbox Code Playgroud)
我需要一步一步的可行Delphi代码片段,将从PHP网站收到的JSON数据转换为本地数据库表.我曾尝试阅读一些文件,但无法理解我的要求的正确实施.
我从我的网站收到了JSON数据,并希望将这些数据解析到我的本地表中.
我希望评估JSON记录字段,例如表格格式(列和行).
我真的很喜欢它
FieldByName('field').AsString = JSONFieldByName('steward').AsString
Run Code Online (Sandbox Code Playgroud)
然后到下一个JSON数组记录.