在 WebSharper 中从客户端链接到端点

Linking to endpoints from the client-side in WebSharper

在 sitelets 中,创建 links 到带有参数的其他端点是相当容易的。例如 ctx.Link(EndPoint.ShowUser user.id)) 创建一个 link 到具有特定 ID 的 ShowUser 端点。

现在我正在将一些代码迁移到客户端,以便在创建新项目后动态更新 table; table 具有指向其他端点的操作 link。我可以在客户端使用 ctx.Link 之类的东西吗?

我宁愿避免自己创建 link(例如使用 sprintf),因为我希望 EndPoint 类型对所有 URL 相关的内容都是权威的。

您可以在客户端创建一个 Router<EndPoint> 值并使用它来创建链接:

open WebSharper.Sitelets.InferRouter

let router = Router.Infer<EndPoint>()

let link = router.Link(EndPoint.ShowUser user.id)