我正在使用ASP .NET MVC Beta,當(dāng)我使用此URL末尾帶有“點(diǎn)”的URL時(shí),出現(xiàn)HTTP 404(找不到資源)錯(cuò)誤:http:// localhost:81 / Title / Edit / Code1。如果刪除末尾的點(diǎn)或中間的某點(diǎn),則不會(huì)出現(xiàn)錯(cuò)誤。我嘗試調(diào)試,但是在MvcHandler中的ProcessRequest之前,我從“ System.Web.CachedPathData.GetConfigPathData(String configPath)”中收到錯(cuò)誤。網(wǎng)址末尾是否不允許使用“點(diǎn)”?還是有辦法修復(fù)路由定義以處理此URL?例如:我有一個(gè)名為Detail1 [Id(integer),Code(string),Description(string)]的表,該表通過其ID列與Master1具有FK關(guān)系。每當(dāng)我選擇Master1的記錄時(shí),我也會(huì)選擇它的Detail1記錄以獲取它的Code字段。為了不每次都進(jìn)行此聯(lián)接(因?yàn)橥ǔ2粌H只有一個(gè)細(xì)節(jié),而且有多個(gè)細(xì)節(jié)),所以我選擇不使用Id列,而是制作Detail1的代碼PK。但是,當(dāng)我擺脫Id并將Code用作PK時(shí),我的路線也開始與Code字段一起使用,例如:Detail1 \ Edit \ Code1該代碼中可以包含任何內(nèi)容,也可以包含DOT。在某些情況下,我可以在最后禁止DOT,但有時(shí)確實(shí)很有意義。而且我還看過這篇文章,路線可能非常靈活,所以我認(rèn)為我的想法并不奇怪。所以這就是為什么我做一些非標(biāo)準(zhǔn)的事情。有什么建議么?還有為什么在網(wǎng)址末尾有DOT太奇怪了?
3 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果使用的是.NET 4.0,則可以在web.config的system.web部分中設(shè)置此標(biāo)志,并且將允許該標(biāo)志:
<httpRuntime relaxedUrlToFileSystemMapping="true" />
我已經(jīng)對(duì)其進(jìn)行了測(cè)試,并且可以正常工作。Haack對(duì)此有一個(gè)解釋。

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
好吧,在.NET 4.5中,我通過在網(wǎng)址末尾添加“ /”來解決此問題。
因此,在您的情況下,它將是“ http:// localhost:81 / Title / Edit / Code1。/”。這是我所做的唯一一件事,無需添加httpRuntime設(shè)置。
- 3 回答
- 0 關(guān)注
- 545 瀏覽
添加回答
舉報(bào)
0/150
提交
取消