我有以下的情況下,我想接受以下擊潰asp.net的MVC - 路線字符串或INT(即/類型/ 23或/類型/帽子)
'/type/view/23' or '/type/view/hats'
,其中23是編號爲帽子。
控制器看起來是這樣的:
public class TypeController
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult View(int id)
{
...
}
}
現在,如果他們在23個沒有問題通過。如果他們戴帽子,我有一些工作要做。現在我想知道在這種情況下,我會通過使用ActionFilter將帽子翻譯爲23,看看傳入的值是否爲int(如果檢查它存在於數據庫中),還是看起來像是字符串在數據庫中查找已傳入的字符串的ID。在任何情況下,如果找不到匹配項,我想將用戶重定向到不同的操作。
首先是我命名正確的方法,其次是從ActionFilter中進行重定向。
乾杯 安東尼
內這樣做的重定向,我可以有兩個擊潰類似如下: this._Routes.MapRoute(「TypeInt」 ,「type/view/{id}」,new {controller =「Type」,action =「ViewInt」},new {page = @「^ \ d + $」}); this._Routes.MapRoute(「TypeString」,「type/view/{id}」,new {controller =「Type」,action =「ViewString」}); 這樣做會值得嗎?或者你認爲只是嘗試解析? – 2009-06-30 02:50:25