我有一个.net MVC网站,我的控制器是用f#编写的。但我很难找到如何在我的控制器中使用连字符。
我想要类似的东西:
domain.com/some-cool-page
如何在F#中完成?
这是我的联系人控制器的一个例子:
type ContactController() =
inherit Controller()
member x.Index () =
let version = typeof<int * int>.Assembly.GetName().Version
let msg = sprintf "This web page is running using F# version %s." (version.ToString(4))
x.ViewData.["Message"] <- msg
let uri = new Uri(HttpContext.Current.Request.Url.AbsoluteUri)
let param1 = HttpUtility.ParseQueryString(uri.Query).Get("id")
x.ViewData.["idinfo"] <- param1
x.View("~/Views/contact.cshtml")
答案 0 :(得分:3)
以下是使用路由配置执行此操作的一种方法:
routes.MapRoute(
"CoolPage",
"some-cool-page/{action}/{id}",
{ controller = "Contact"; action = "Index"; id = UrlParameter.Optional }
) |> ignore
在&#34;默认&#34;之前添加此项路由,您可以通过/some-cool-page
访问ContactsController和相应的视图。
您通常会在global.asax.fs文件中找到路由配置,具体取决于您使用的模板。